我可以在Excel中轻松完成,但我很想在R中破解它。基本上,这是一个简单的表,行名称作为响应者年龄组和列名称作为二进制指示符(是/否)
目的是将一些子组的结果与总数进行比较 我试图总结三个年龄组,包括25到29,30到34和35到39谁在调查中回答是,并计算'是'的百分比
我计算出有多少受访者在整个样本中回答“是”
我尝试使用apply((x1,2 function(x)sum(head(x,2:4)))。然而,它没有用。有人可以建议一个更聪明的方法吗?非常感谢!< / p>
x1 <- structure(c(15L, 29L, 44L, 48L, 32L, 27L, 27L, 27L, 24L, 33L,
14L, 29L, 25L, 33L, 13L, 15L, 17L, 9L, 18L, 41L), .Dim = c(10L,
2L), .Dimnames = structure(list(Q4Age = c("18 to 24", "25 to 29",
"30 to 34", "35 to 39", "40 to 44", "45 to 49", "50 to 54", "55 to 59",
"60 to 64", "65 and over"), Q12 = c("No",
"Yes")), .Names = c("Q4Age", "Q12"
)), class = "table")
#yes
sum(x1[1:3,2])
#no
sum(x1[1:3,1])
答案 0 :(得分:4)
您只需在申请函数中添加逗号即可。 (,
及其值之间不需要function
但是,更简单地说,您可以使用colSums
:
colSums(x1[1:2, ])