2017-11-21 6 views
2

は、どのように私は、同じデータフレームがリストで発生した回数をカウントすることができRで一致するデータフレームを識別してカウントしますか?

list.df <- replicate(1000, 
data.frame(l = sample(letters[1:5], 4), n = sample(c(1:4), 4)), 
simplify = F) 

例えば、私はデータフレームのリストを持っているとしましょうか?

+0

複数のデータフレームが複数回発生する可能性があります。例えば、データフレーム「A」は2回、データフレーム「B」は3回発生することができる。あなたの期待される成果は? –

+0

さらにネストされたデータフレーム。おそらく、最初のリストからのユニークなデータフレームがそれぞれ1つの列であり、次にn/counts列からのものですか? – DonCiccio

答えて

0

まずはIDユニークdata.frames必要があります。

unique.df <- unique(list.df) 

を次にlist.dfにループして、彼らはoccureどのように多くの時間をカウントし、それぞれの発生を計算する:

n_occurence <- NULL 
for (elt in unique.df){ 
    n_occ <- 0 # A counter of occurence for this e 
    for (df in list.df){ 
    if (identical(elt, df)){ # If df is exactly elt, we count it 
     n_occ <- n_occ + 1 
    } 
    } 
    n_occurence <- c(n_occurence, n_occ) 
} 

n_occurenceはAですunique.dfの各要素の出現回数のリスト。

と制御する:

> sum(n_occurence) == 1000 
[1] TRUE 

を今ではそれをあなたが...ただ、curioistyのうち


を望む形を与えるためにあなた次第です...あなたが望むなぜそれをするには?あなたのユースケースは何ですか?