15

lapply()リストがあり、その要素の平均を計算するために使用したいと考えています。たとえば、リストの 7 番目の項目については、次のようにします。

>list[[7]]
 [1] 1 1 1 1 1 1 1 1 1 1

私の出力は次のようになります。

> mean(temp[[7]][1:10])
[1] 1

しかし、lapply()以下のように使用すると、結果は別のものになります。私は何をすべきか?

> lapply(list[[7]][1:10],mean)
[[1]]
[1] 1

[[2]]
[1] 1
.
.
.
[[10]]
[1] 1
4

2 に答える 2

15

リストの 7 番目の要素の平均を取得するには、 を使用しますmean(list[[7]])。リストの各要素の平均を取得するには、 を使用しますlapply(list,mean)。そして、あなたのリストを呼び出すのは本当に悪い考えlistです.

于 2012-11-12T23:32:46.923 に答える
12

consider using sapply instead of lapply.

# sample data
a<- 1:3
dat <- list(a, a*2, a*3)

# sapply gives a tidier output
> sapply(dat, mean)
[1] 2 4 6

> lapply(dat, mean)
[[1]]
[1] 2

[[2]]
[1] 4

[[3]]
[1] 6



plyrまた、パッケージ を見てみたいと思うかもしれません。この質問は、さまざまな *apply 関数を説明するのにも適しています

于 2012-11-13T00:13:04.070 に答える