如何聚合表中的选择性内容?

时间:2013-05-07 22:13:05

标签: r

我可以在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])

1 个答案:

答案 0 :(得分:4)

您只需在申请函数中添加逗号即可。 (,及其值之间不需要function

但是,更简单地说,您可以使用colSums

 colSums(x1[1:2, ])