我有这些数据,我想做的是计算每列中一,二,三的出现次数(频率)
离。 A列中有2个,B列中有2个TWO,C列中有1个等等
我可以用什么函数来计算R中的某些单词?
如何从这个计数中得出直方图?
ABC <-read.csv("c:/Data/dataset.csv")
A B C
1 TWO ONE THREE
2 ONE ONE TWO
3 THREE TWO THREE
4 ONE TWO ONE
5 TWO THREE TWO
答案 0 :(得分:3)
我们可以使用mtabulate
按每列获取数据集中unique
个元素的数量
library(qdapTools)
t(mtabulate(ABC))
# A B C
#ONE 2 2 1
#THREE 1 1 2
#TWO 2 2 2
或者我们在table
数据集之后使用unlist
并复制'{1}}的'ABC'。请注意,我们这里仅调用names
一次。
table
稍快一点的选择是将tbl <- table(unlist(ABC),names(ABC)[col(ABC)])
tbl
# A B C
# ONE 2 2 1
# THREE 1 1 2
# TWO 2 2 2
与vapply
tabulate
如果我们需要一个条形图
vapply(ABC, function(x) tabulate(factor(x)), numeric(3))
答案 1 :(得分:2)
%%~nL