假設我有: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條經驗 獲得超13個贊
也許桌子是你所追求的?
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 關注
- 545 瀏覽
添加回答
舉報
0/150
提交
取消