如何对整个 R 数据框进行制表?

发布于 2024-12-12 02:56:20 字数 454 浏览 0 评论 0原文

我有一个数据框,其中包含列 v1, v2, ..., v30 ,其中包含相同的因子变量,尽管列与列之间的级别不同(“210N”下)例如,v3 可能不会出现在 v5 下 - 我不确定这是否会导致我的麻烦)。理想情况下,我希望,而不是执行 table(df$v1)table(df$v2),...然后继续 table (df$v30),并将我感兴趣的值的所有计数相加,有某种解决方案可以执行与 table(df$[, v1... v30]) - 没有要求我在所有列中强制执行相同的级别,理论上总共应该有大约 6000 个级别。

到目前为止,我天真地尝试将 v1 上的表与 v2 上的表合并,并设置了 all=TRUE ,尽管这并不能解决问题:随后的表包含两个不同的计数对于相同的因子水平,即“210N”出现两次,但频率不同。

I've got a data frame containing, say, the columns v1, v2, ..., v30 which contain the same factor variables, although the levels are different from column to column ('210N' under v3 might not appear under v5, for example - I'm not sure whether that is contributing to my trouble). Ideally, I'm hoping that, rather than doing a table(df$v1), table(df$v2), ... and onward to table(df$v30), and adding up all the counts of the value I'm interested in, there's some kind of solution out there that performs the equivalent of table(df$[, v1...v30]) - without requiring me to enforce the same levels across all columns, as in theory there should be around ~6000 levels in all.

So far, I've naively tried to merge a table on v1 with a table on v2, with all=TRUE set, although that doesn't do the trick: the the ensuing table contains two different counts for the same factor level, i.e, '210N' appears twice, but with different frequencies.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

手心的温暖 2024-12-19 02:56:20

这是执行此操作的一种方法

table(unlist(df))

Here is one approach to do this

table(unlist(df))
阳光下的泡沫是彩色的 2024-12-19 02:56:20

一种方法是

library(plyr)
llply(.data=df, .fun=table)

One approach is

library(plyr)
llply(.data=df, .fun=table)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文