2

我可以在 Excel 中很容易地做到这一点,但我很想在 R 中破解它。基本上,这是一个简单的表格,其中行名作为受访者年龄组,列名作为二进制指标(是/否)

旨在将一些亚组结果与总人数进行比较 我试图将三个年龄组相加,包括 25 至 29,30 至 34 岁和 35 至 39 岁,他们在调查中回答“是”并计算“是”的百分比

我计算出整个样本中有多少受访者回答“是”

我尝试使用 apply((x1,2 function(x) sum( head(x, 2:4)))。但是,它没有用。任何人都可以建议一种更聪明的方法吗?非常感谢!

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])
4

1 回答 1

4

你只是在你的应用函数中有一个额外的逗号。(不需要一个,betweenfunction和它的值)

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

 colSums(x1[1:2, ])
于 2013-05-07T22:21:10.560 回答