1
mydat = data.frame(Q1 = c(0, 1, 0, 1), Q2 = c(0, 1, 1, 1),
Q3 = c(1, 1, 1, 1), Gender = c("M", "M", "F", "F"))
> mydat
Q1 Q2 Q3 Gender
1 0 0 1 M
2 1 1 1 M
3 0 1 1 F
4 1 1 1 F
> table(mydat[,1:3], mydat$Gender)
Error in sort.list(y) : 'x' must be atomic for 'sort.list'
Have you called 'sort' on a list?
我有一个非常简单的数据集,包含3个二元问题和一个性别变量。我很想看看这三个问题与性别之间是否有任何关联,所以我想将我的数据列入一个3(问题)×2(性别)数表。我希望我的表看起来像这样R:如何使用表来列表m x n数据
Q1 Q2 Q3
M 1 1 2
F 1 2 2
编辑:
mydat = data.frame(Q1 = c(0, 1, NA, 1), Q2 = c(0, 1, 1, 1),
Q3 = c(1, NA, 1, 1), Gender = c("M", "M", "F", "F"))
> rowsum(mydat[1:3], mydat$Gender)
Q1 Q2 Q3
F NA 2 2
M 1 1 NA
谢谢。我有一个后续问题,如果我的数据集包含一些“NA”,并且我不想让这些影响我的制表,我应该怎么做? – Adrian
@Adrian在这种情况下,使用'sum'中的'na.rm = TRUE',即'mydat%>%group_by(Gender)%>%summarise_all(funs(sum(。,na.rm = TRUE)))''它也可以用在'rowsum'中 – akrun
对不起,我还有一个问题。假设我只想要一个2x和两性的表。 'rowsum(mydat [1],mydat $ Gender,na.rm = TRUE)'只给我一个2x1表。 – Adrian