我想将一个长索引向量(50 多个非连续整数)应用于一长向量列表(包含 100 多个名称的 50 多个字符向量),以便检索特定值(作为列表、向量或数据帧)。
一个简化的例子如下:
> my.list <- list(c("a","b","c"),c("d","e","f"))
> my.index <- 2:3
所需输出
[[1]]
[1] "b"
[[2]]
[1] "f"
##or
[1] "b"
[1] "f"
##or
[1] "b" "f"
我知道我可以使用以下方法从每个元素获得相同的值:
> lapply(my.list, function(x) x[2])
##or
> lapply(my.list,'[', 2)
我可以通过以下方式从每个元素中提取第二个和第三个值:
> lapply(my.list,'[', my.index)
[[1]]
[1] "b" "c"
[[2]]
[1] "e" "f"
##or
> for(j in my.index) for(i in seq_along(my.list)) print(my.list[[i]][[j]])
[1] "b"
[1] "e"
[1] "c"
[1] "f"
我不知道如何从每个元素中提取一个值。
我已经找了几天了,还没有找到任何这样做的例子,但它看起来相当简单。我在这里遗漏了一些明显的东西吗?
谢谢你,
斯科特