【发布时间】:2013-05-08 06:32:34
【问题描述】:
我可以在 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])
【问题讨论】:
-
你只是多了一个逗号:
apply(x1,2,function(x) sum(head(x,2)))
标签: r