从R中的列表中的每个元素中删除值

时间:2017-03-24 12:34:51

标签: r list

我想知道是否有人可以帮助解决这个问题。我有一个类似于以下功能的列表:

lis<-vector("list",3)
lis[[1]]<-c(1,2,3)
lis[[2]]<-c(1,2,3)
lis[[3]]<-c(1,2,3)

所以它看起来像

[[1]]
[1] 1 2 3
[[2]]
[1] 1 2 3
[[3]]
[1] 1 2 3

我想要做的是删除,例如,列表中每个组件的第一个元素,最终结果如下:

[[1]]
[1] 2 3
[[2]]
[1] 2 3
[[3]]
[1] 2 3

任何想法都会受到欢迎。

1 个答案:

答案 0 :(得分:2)

您可以使用lapply()并为列表的每个元素执行索引功能。索引-1表示没有第一个元素的

lis <- list(a=1:3, b=11:13, c=21:23)
lapply(lis, '[', -1)
# $a
# [1] 2 3
# 
# $b
# [1] 12 13
# 
# $c
# [1] 22 23