Представьте, что у меня есть вопрос, для которого есть четыре варианта, и респондент может выбрать ноль или любую комбинацию из четырех. Переменные называются A
, B
, C
и D
, а ответы сохраняются в data.frame, как показано ниже.
set.seed(1)
dat = data.frame(A = sample(c(0, 1), 20, replace=TRUE),
B = sample(c(0, 1), 20, replace=TRUE),
C = sample(c(0, 1), 20, replace=TRUE),
D = sample(c(0, 1), 20, replace=TRUE))
Я могу свести в таблицу комбинацию ответов (например, сколько ответило только A
, или A
+B
, или C
+D
и т. д.), выполнив следующие действия:
data.frame(table(dat))
# A B C D Freq
# 1 0 0 0 0 2
# 2 1 0 0 0 2
# 3 0 1 0 0 0
# 4 1 1 0 0 1
# 5 0 0 1 0 1
# 6 1 0 1 0 3
# 7 0 1 1 0 0
# 8 1 1 1 0 2
# 9 0 0 0 1 0
# 10 1 0 0 1 2
# 11 0 1 0 1 1
# 12 1 1 0 1 1
# 13 0 0 1 1 2
# 14 1 0 1 1 0
# 15 0 1 1 1 3
# 16 1 1 1 1 0
Теперь я хотел бы создать новый столбец, показывающий комбинацию букв, представленную этим выводом. Например, строка 4 представляет количество ответов A
+B
, а строка 14 представляет количество ответов A
+C
+D
.
Я думаю, что здесь была бы полезна одна из функций apply
, но я не знаю, как поступить.