假设我有:v = rep(c(1,2, 2, 2), 25)现在,我想计算每个唯一值出现的次数。unique(v) 返回唯一值是多少,但不是多少。> unique(v)[1] 1 2我想要能给我的东西length(v[v==1])[1] 25length(v[v==2])[1] 75但作为更一般的单行代码:)有些类似(但不太完全)的东西:#<doesn't work right> length(v[v==unique(v)])
3 回答
红颜莎娜
TA贡献1842条经验 获得超12个赞
也许桌子是你所追求的?
dummyData = rep(c(1,2, 2, 2), 25)
table(dummyData)
# dummyData
# 1 2
# 25 75
## or another presentation of the same data
as.data.frame(table(dummyData))
# dummyData Freq
# 1 1 25
# 2 2 75
幕布斯6054654
TA贡献1876条经验 获得超7个赞
正如Chase所建议的,table()函数是一个很好的方法。如果要分析大型数据集,另一种方法是在数据表包中使用.N函数。
确保通过以下方式安装了数据表包
install.packages("data.table")
码:
# Import the data.table package
library(data.table)
# Generate a data table object, which draws a number 10^7 times
# from 1 to 10 with replacement
DT<-data.table(x=sample(1:10,1E7,TRUE))
# Count Frequency of each factor level
DT[,.N,by=x]
- 3 回答
- 0 关注
- 510 浏览
添加回答
举报
0/150
提交
取消