【发布时间】:2012-07-05 16:12:24
【问题描述】:
假设我有一个有四个选项的问题,而受访者可以选择零或这四个选项的任意组合。这些变量被命名为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 函数之一在这里会很有用,但我不确定如何继续。
【问题讨论】: