Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何对R中的列表元素应用均值函数_R_List_Lapply - Fatal编程技术网

如何对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如果您觉得此答案为您提供了所需内容的充分描述,请通过勾选分数下方的灰色复选标记,随意接受它为正确答案。