我有这些数据,我想根据q8_12
:
q8_12 q8_13_1 q8_13_2 q8_13_3 q8_13_4 q8_13_5
YES NO NO NO NO NO
YES NO NO NO YES NO
NO NO NO NO NO NO
NO NO NO NO NO NO
NO NO NO NO NO NO
YES NO NO NO NO NO
NO NO NO NO NO NO
YES NO NO NO NO NO
YES NO NO NO NO YES
YES NO NO NO NO YES
YES NO NO NO NO YES
YES NO NO NO NO NO
YES NO NO NO YES NO
NO NO NO NO NO NO
我正在使用if
功能:
if(q8_12=='YES') table(q8_13_11)
我收到此错误
if(q8_12 ==“YES”)表(q8_13_11)中的警告:
条件的长度> 1,只使用第一个元素
任何人都知道如何解决这个问题?
答案 0 :(得分:1)
您可以使用by
:
by(dat[-1], dat[1], summary)
其中dat
是数据框的名称。
q8_12: NO
q8_13_1 q8_13_2 q8_13_3 q8_13_4 q8_13_5
NO:5 NO:5 NO:5 NO :5 NO :5
YES:0 YES:0
--------------------------------------------------------------------------------
q8_12: YES
q8_13_1 q8_13_2 q8_13_3 q8_13_4 q8_13_5
NO:9 NO:9 NO:9 NO :7 NO :6
YES:2 YES:3
答案 1 :(得分:0)
您想要编制索引,而不是使用if
:
table(q8_13_11[q8_12=='YES'])
您可能只想要一个交叉表:
table(q8_13_11, q8_12)