2

本当に初心者の質問です。次のコード行を使用してリストにループを適用しています。

for(i in 1:length(zz)){ if (length(zz[[i]])>2) {print(zz[[i]])}}

コンソールで視覚化することで、必要なものを取得しています。ただし、これを変数に格納する方法が見つからないため、後で使用できます。

これを手伝ってくれませんか。

事前にどうもありがとうございました。

ティナ。

4

2 に答える 2

4

次のようにリストをフィルタリングすることをお勧めします。

out <- zz[sapply(zz, length) > 2]

ここsapply(zz, length)で、リストアイテムの長さがわかります。

于 2013-03-16T00:19:25.953 に答える
1
out <- vector("numeric", length(zz)) #type depends on what zz is

for(i in 1:length(zz))
    if(length(zz[[i]] > 2)
        out[i] = zz[[i]]

他の人が指摘しているように、Rの慣習は、apply家族の一員とこれを行うことです。

于 2013-03-16T00:22:15.730 に答える