【问题标题】:summarizing a vector from multiple data frames从多个数据帧中总结一个向量
【发布时间】:2019-06-13 17:43:04
【问题描述】:

我有五个具有不同向量数量的数据框。矢量Q10 存在于所有数据帧中(字符;值=“是”或“否”)。我目前以这种方式检查此变量的内容:

table(mon1$Q10)
table(tue1$Q10)
table(wed1$Q10)
table(thr1$Q10)
table(fri1$Q10)

我怎样才能更快地做到这一点?我可以使用循环,但这似乎也没有效率。我想 apply 函数能找到答案(我已将我的数据框放入名为 svylist 的列表中),但我还没有解决。

生成的输出应显示每个数据帧的“是”和“否”值的计数。单个表会很出色,但即使是上面重复的 table() 函数的输出也可以正常工作。

【问题讨论】:

  • lapply(mget(c("mon1","tues1", "wed1","thur1","fri1")), "[[", "Q10")lapply(mget(c("mon1","tues1", "wed1","thur1","fri1")), function(x) table(x$Q10)) 生成表格
  • 另外,考虑将所有数据集移动到一个列表中 - 这将简化事情。
  • @emilliman5 接近了,但输出不是像 table() 提供的汇总计数。
  • @iod,谢谢 - 刚刚添加了我的部分 lapply 解决方案来解决这个问题。

标签: r apply summary


【解决方案1】:

将所有数据框合并到一个列表中,然后使用 sapply 访问它们:

days1<-list(mon=mon1,tue=tue1,wed=wed1,thr=thr1,fri=fri1)
sapply(days1, function(x) table(x$Q10))

使用两个数据框进行演示,因为我很懒:

  mon tue
n    2   1
y    2   3

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-25
    • 1970-01-01
    • 2022-08-12
    • 2021-05-02
    • 2022-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多