2016-08-08 7 views
0

私はdfをサブセット化し、頻度カウントを持つ列を追加する簡単な方法を探しています。R:特定の値のcountで列を追加する

Name 
JA 
JN 
JA 
JB 
JA 
JN 

そして、私はこのような結果が欲しい:

Name Frequency 
    JA  3 
    JN  2 
    JB  1 

どれでも提案を私はこのようなDFがあると?ありがとうございました。

+0

何を試しましたか? 'split'、' by'、 'dplyr :: group_by'と' dplyr :: summarize'を含んでいます。 – r2evans

+0

これはあなたの問題を解決することができますhttp://stackoverflow.com/questions/18799901/data-frame-group-by-column –

答えて

1

我々はdplyr

library(dplyr) 
df1 %>% 
    group_by(Name) %>% 
    tally() 

で '名前' でグループ化した後tallyを使用するか、それがdata.tableを使用して行うことをtablebase Rから

as.data.frame(table(df1[,1])) 
# Var1 Freq 
#1 JA 3 
#2 JB 1 
#3 JN 2 
+1

もう一度、ありがとう! –

+0

@LaMachineInfernale投票の横にあるチェックマークをクリックして、最良の解決策を受け入れることを検討してください。 – akrun

0

一つの方法を使用することができます。

require(data.table) 
DT<-data.table(df) 
DT[,.(Frequency=.N),by=Name] 
+0

コードをより効率的に短縮することができます: 'setDT(df)[、。(Freq = .N)、by = Name]' – Sathish

関連する問題