我可以使用 R 查看表中每列中出现的值的频率吗?

Posted

技术标签:

【中文标题】我可以使用 R 查看表中每列中出现的值的频率吗?【英文标题】:Can I use R to look at the frequency of values appearing in each column in a table? 【发布时间】:2015-10-12 16:23:41 【问题描述】:

我是 R 的初学者,我想知道是否可以使用它来全面了解我的数据。具体来说,我在包含 650 列的数据库中有一个表。我想知道每列的不同值是什么,以及列中出现的每个值有多少。

例如,如果我的桌子看起来像这样:

ID   DATA1    DATA2    DATA3    DATA4
1    A        42       FORD     QQ
2    B        42       ACURA    66
3    C        (null)   (null)   88
4    A        (null)   FORD     QQ

我想知道以下内容:

Column DATA1 has the following distribution:
    Value    Count
    A        2
    B        1
    C        1

Column DATA2 has the following distribution:
    Value    Count
    (null)   2
    42       2

...

这样我就可以确定表中大部分行的哪些列是(null)。

该表位于 netezza 数据库中,我已经弄清楚如何连接到该数据库并针对该数据库运行查询。我的问题是如何使用 R 运行这种类型的分析。

如果有一种方法可以输出可视化效果,例如在堆积条形图中,每列都有一个条形图,堆栈的每个“片段”代表一个值,那就更好了。

【问题讨论】:

【参考方案1】:

表格可以通过整形来完成

library(dplyr)
library(tidyr)

data %>%
  gather(variable, value, -ID) %>%
  group_by(variable, value) %>%
  summarize(frequency = n() )

【讨论】:

以上是关于我可以使用 R 查看表中每列中出现的值的频率吗?的主要内容,如果未能解决你的问题,请参考以下文章

如何将熊猫数据框中每列中唯一值的数量绘制为条形图?

如何列出各个列,其中每个列包含一个 id 计数,其中每列中的 id 不在 MySQL 中每列的不同表中

如何获取列中多个最小值的索引?

计算Spark DataFrame中每列的内核密度

如何在 r 的范围内返回 .csv 列中的值的数量

每列中每个值的计数热图