如何对R中的列表元素应用均值函数
我有一个列表,我想使用如何对R中的列表元素应用均值函数,r,list,lapply,R,List,Lapply,我有一个列表,我想使用lappy()来计算其元素的平均值。例如,对于清单的第七项,我有: >list[[7]] [1] 1 1 1 1 1 1 1 1 1 1 我的输出应该是: > mean(temp[[7]][1:10]) [1] 1 但是当我像下面这样使用lappy()时,结果会是另一种情况。我该怎么办 > lapply(list[[7]][1:10],mean) [[1]] [1] 1 [[2]] [1] 1 . . . [[10]] [1] 1 要获得列表第7
lappy()
来计算其元素的平均值。例如,对于清单的第七项,我有:
>list[[7]]
[1] 1 1 1 1 1 1 1 1 1 1
我的输出应该是:
> mean(temp[[7]][1:10])
[1] 1
但是当我像下面这样使用lappy()
时,结果会是另一种情况。我该怎么办
> lapply(list[[7]][1:10],mean)
[[1]]
[1] 1
[[2]]
[1] 1
.
.
.
[[10]]
[1] 1
要获得列表第7个元素的平均值,只需使用
mean(列表[[7]])
。
要获得列表中每个元素的平均值,请使用lappy(list,mean)
。
把你的列表称为
list
是一个非常糟糕的主意,考虑使用sapply
而不是lappy
# 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
#示例数据
a重叠(dat,平均值)
[[1]]
[1] 2
[[2]]
[1] 4
[[3]]
[1] 6
另外,您可能想看看
plyr
包。还可以很好地解释不同的*apply函数如果对列表中的单个元素使用lappy
,则将取向量中每个元素的平均值。改用lappy(列表,平均值)
。另外,使用list
作为变量名是个坏主意,因为它是一个重要的函数!谢谢:)我会把名字改成well@hora如果您觉得此答案为您提供了所需内容的充分描述,请通过勾选分数下方的灰色复选标记,随意接受它为正确答案。