R中的频率表

时间:2016-08-03 12:10:35

标签: plyr frequency frequency-distribution

我正在与我认为应该如此简单的事情作斗争! 我在R中研究了频率表,无法弄清楚要做什么。

我在这个数据集中有一个包含不同问卷的数据集。 即,第一份调查问卷由10个项目组成,每个项目/变量都有一个单独的列,即问题1,问题2,问题3等都将拥有它自己的专栏。

在每一栏中,有400个回复(即参与者),每个参与者给出0,1或2的回复。

我想做的就是对所有变量生成频率计数(即问题1,问题2,问题3等),以便我得到所有变量的摘要 - 例如:

"问题1"

0 = 100

1 = 200

2 = 97

NA = 3

总计= 400

如何在一个简单,整洁的表中生成它?

2 个答案:

答案 0 :(得分:2)

df   #the name of your raw table
table(df$columnName)   #This command should create the table for you

如果您还想在结尾看到总数,可以这样做:

exampleTable <- table(df$columnName)
exampleTable <- cbind(exampleTable, Total = rowSums(exampleTable))

答案 1 :(得分:0)

最简单的方法确实是Y.Z的解决方案。使用 table(),但更好的方法是使用 包中的 freq()。它会自动显示包含和不包含缺失值的百分比。

如果你想一次为所有列创建一个大频率表,你可以查看这个问题:Create frequency tables for multiple factor columns in R

#install the package
install.packages("questionr")

#load the libraries
library(questionr) 

#Make some reproducible data 
set.seed(20)
colours <- sample(x = c("red", "green", "blue", NA), size = 76, replace = TRUE)

#Make a frequency table of the data
freq(colours)

       n    % val%
blue  11 14.5 17.5
green 25 32.9 39.7
red   27 35.5 42.9
NA    13 17.1   NA