2017-12-29 27 views
-1

特定の変数が所定の値を超えているデータフレームのリスト全体ですべてのインスタンスを数えようとしています。私はそれを行うことを試みた:リストアイテム間で条件付きの回数を反復するR

for (name in myList){ 
    nrow(subset(myList[[name]], var >=6)) 
} 

私はここに見られるように:http://www.statisticsblog.com/2010/03/r-tip-iterating-over-list/

は、しかし、私は次のエラーを取得する:

Error in myList[[name]] : invalid subscript type 'list' 

私は私が使用しているので、作品nrowことを知っていますそれはループ外の特定のリスト項目にあり、成功しました。なぜ私はエラーが発生しているのか分かりません。リスト名は次のように設定されます。

myList$`i.j.k` 

i、j、およびkは、それぞれ異なる数値を使用します。エラーの原因となっている何

myList <- split(data, f=list(data$i, data$j, data$k)) 

:私は、.csvファイルから読み込まれたデータフレームからなるようにリストを生成しましたか?あるいは、すべてのリスト要素の条件付きカウントを行う良い方法があります(2000以上のループがあるので、ループ以外の方法が理想的です)。ありがとう!

+1

あなたはリストからリストを呼び出していますか? 'name in myList' - >' myList [[name]] ' – PoGibas

答えて

0

私は@PoGibasからのコメントのおかげでそれを考え出し:

よりもむしろ

for (name in myList){ 
    nrow(subset(myList[[name]], var >=6)) 
} 

それは次のようになります。

for (name in myList){ 
    nrow(subset(name, var >=6)) 
}