【发布时间】:2017-08-28 14:40:14
【问题描述】:
假设我有一个简单的列表
v <- list(vec1=c(1,2,3), vec2=c(3,4,5, 6))
我想遍历这个列表并在它的元素上执行一些函数,以便作为输出我得到:特定元素的名称和函数的输出。例如:
for (i in v)
{print(sd(i))
}
在这种情况下,输出是:
[1] 1
[1] 1.290994
但我希望看到这样的东西:
$vec1
[1] 1
$vec2
[1] 1.290994
如果我的列表中有很多元素,我可以很容易地找出每个输出所指的元素。我知道它有函数names() 可以做,但我不能让它工作。
【问题讨论】:
-
lapply(v, sd) -
谢谢,这确实很好用!但是,有没有办法通过某种循环或修改 lapply() 来做到这一点,因为事实上我有更复杂的例子?例如,我想在其上运行特定列的相关矩阵的数据框列表?