これは初心者の質問ですが、効果的なGoogle検索には適切な語彙がないようです。R内のdata.frameに格納されたリストを反復する
私はのリストを含むdata.frame、final
を持っています。それぞれのリストは文字列のリストです。
私は各クラスタの文字列のリストを繰り返していきたいと思います:forループ内のforループ。 、
for (j in final$clusters){
for (i in final$clusters$`j`){
print final$clusters$`j`[i]
}
}
j
はclusters
にリストに対応し、i
は私がlength(final$clusters[1])
ようなものになるだろうと思った各クラスタの長さを使用してこれを行うにしようとしていたclusters[j]
内の項目に対応しますしかしそれはリストの長さではなく1を与えます。
また、final$clusters[1]
は '1' $与え、そして次の行に、クラスタ内のすべての文字列は1
感謝。
EDIT:要求されたとしてdput(str(final))
の出力、:
List of 2
$ clusters :List of 1629
..$ 1 :
..$ 2 :
..$ 3 :
..$ 4 :
..$ 5 :
..$ 6 :
..$ 7 :
..$ 8 :
..$ 9 :
..$ 10 :
.. [list output truncated]
$ cluster_stats: num [1:1629, 1:6] 0.7 0.7 0.7 0.7 0.7 0.7 ...
..- attr(*, "dimnames")=List of 2
.. ..$ : chr [1:1629] "1" "2" "3" "4" ...
.. ..$ : chr [1:6] "min" "qu1" "median" "mean" ...
NULL
'rapply'は、あなたが述べたように、リストのリストを印刷しています(説明のためにありがとう)。しかし、一度に一つのリストだけを出力したいのですが(実際には 'sink 'を使って'クラスタ'を別のファイルに出力したいと思っていました)、 'print'を動作させることができません@pipo98の助けとあなたの助けを借りて、 'for(最終$クラスタのj){rapply(最終$ clusters [j]、f = print)}'は 'NULL'の数行を返します。 – dd3
@ dd3 'rapply'と' for'を組み合わせる必要はありません。 'Rapply'は葉を取得するためにリストを再帰的に移動します..' dput(str(final)) 'を出力して質問に追加してください... – agstudy
問題は私だけがこれを行うことです一度にサブリストのあなたの例では、 'cluster1'の出力のみを取得し、それをファイルに書き込み、他のクラスタに対しても同様の操作を行いたいと思います。それぞれ別のファイルに書き込みます。リクエストした出力を自分の質問に追加しました。ご協力いただきありがとうございます。 – dd3