私はdfをサブセット化し、頻度カウントを持つ列を追加する簡単な方法を探しています。R:特定の値のcountで列を追加する
Name
JA
JN
JA
JB
JA
JN
そして、私はこのような結果が欲しい:
Name Frequency
JA 3
JN 2
JB 1
どれでも提案を私はこのようなDFがあると?ありがとうございました。
私はdfをサブセット化し、頻度カウントを持つ列を追加する簡単な方法を探しています。R:特定の値のcountで列を追加する
Name
JA
JN
JA
JB
JA
JN
そして、私はこのような結果が欲しい:
Name Frequency
JA 3
JN 2
JB 1
どれでも提案を私はこのようなDFがあると?ありがとうございました。
我々はdplyr
library(dplyr)
df1 %>%
group_by(Name) %>%
tally()
で '名前' でグループ化した後tally
を使用するか、それがdata.table
を使用して行うことをtable
base R
から
as.data.frame(table(df1[,1]))
# Var1 Freq
#1 JA 3
#2 JB 1
#3 JN 2
もう一度、ありがとう! –
@LaMachineInfernale投票の横にあるチェックマークをクリックして、最良の解決策を受け入れることを検討してください。 – akrun
一つの方法を使用することができます。
require(data.table)
DT<-data.table(df)
DT[,.(Frequency=.N),by=Name]
コードをより効率的に短縮することができます: 'setDT(df)[、。(Freq = .N)、by = Name]' – Sathish
何を試しましたか? 'split'、' by'、 'dplyr :: group_by'と' dplyr :: summarize'を含んでいます。 – r2evans
これはあなたの問題を解決することができますhttp://stackoverflow.com/questions/18799901/data-frame-group-by-column –