【发布时间】:2020-11-03 11:04:59
【问题描述】:
我想从 R 中的(命名)列表中提取值。
示例
数据如下:
data <- list('1' = list(x = c(1,2,3), y = c(2,3,4), z = c(2,3,7)),
'2' = list(x = c(2,3,4,5), y = c(3,4,5,6), z = c(1,2,3,5)))
从指定的列表(例如,'1')中,我想从列表中提取所有第一个/第二个/等元素。元素索引的选择应该是随机的。
例如,如果我想从第一个列表(即'1')中采样,我会生成一个随机索引并提取与该随机索引对应的 x、y 和 z 值。假设索引是2,那么元素应该是x=2、y=3和z=3。
接近
我认为一个函数应该能够完成这项工作。第一步是从函数中调用列表:
这行得通:
x <- function(i){
data$`1`
}
x(1)
但这不是:
x <- function(i){
data$`i`
}
x(1)
问题
如何从函数中调用命名列表的列表?以及对所选索引对应的数据进行采样最方便的方法是什么?
【问题讨论】:
-
1) 在你的函数中使用
data[[i]]。 2)像这样调用该函数x("1")