【问题标题】:How to aggregate selective content in a table?如何聚合表格中的选择性内容?
【发布时间】: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


【解决方案1】:

您只是在应用函数中多了一个逗号。 (在function 和它的值之间不需要,

不过,更简单的,你可以使用colSums

 colSums(x1[1:2, ])

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多