Я работаю с данными, содержащими 10.000 человек. Данные содержат 8 двоичных (0, 1) переменных. Каждая переменная является индикатором, если существует модуль опроса == 1 или нет == 0. В целом, 2^8 = 256 возможных комбинаций из 0 и 1 для каждой переменной и .Группа лиц с одинаковыми рядами
Цель: Я хочу группировать людей с одинаковыми строками (это означает индивидуумы, которые принимали участие в тех же модулях).
Мои данные выглядит как в следующем примере с onlye трех переменных:
# example
dat <- data.frame(id = 1:8, # unique ID
v1 = rep(0:1, 4),
v2 = rep(1:0, 4),
v3 = rep(1:1, 4))
# I can find the unique rows
unique(dat[ , -1])
# I also can count the number of occurence of the unique rows (as suggested by http://stackoverflow.com/questions/12495345/find-indices-of-duplicated-rows)
library(plyr)
ddply(dat[ , -1], .(v1, v2, v3), nrow)
# But I need the information of the occurence on the individual level like this:
dat$v4 <- rep(c("group1", "group2"), 4)
# The number of rows alone is not sufficient because, different combinations can be the same counting
'взаимодействие (Дат [-1 ], drop = TRUE) ' – user20650
Не можете ли вы просто использовать' with (dat, v1 + 2 * v2 + 4 * v3) 'как переменную группировки? –
Спасибо @ user20650 !!! Это помогает и является очень простым решением! – maller