我在包memisc
下使用了case函数来组合1列下的多个值。例如,
library(memisc)
age=cases(
"10-20"=(data$your_age=="10-15"|data$your_age=="16-20"),
"21-30"=(data$your_age=="21-25"|data$your_age=="26-30")
)
对于另一个变量(收入),因为有一些空白单元格,我摆脱了这些无响应并使用subset_income=subset(data, !data$your_income=="")
如果年龄的行数是400,那么在拿走收入列的空白单元格后,行号变为300,
然后我将收入分组为
income=cases("1k-2k"=(subset_income$your_income=="1k-0.5k"|subset_income$your_income=="0.5k-2k")
"2.1k-3k"=(subset_income$your_income=="2.1k-2.5k"|subset_income$your_income=="2.6k-3k")
)
最后,我在包镶嵌下使用了Tally来显示这两个变量的交叉表,tally(~age|income,format="percent",data=data)
和R警告显示"Arguments imply differing number of rows"
有没有办法解决这个问题?非常感谢!