R列表 - 删除多个条目以创建新列表

时间:2012-02-02 13:28:27

标签: r list

我有以下内容:

Lst <- list('1'=c(323, 324), '2'=c(391, 392), '3'=c(923,924), '4'=c(301, 302))

并希望得到一个列表,其中第二个数字从哪个条目消失,即它看起来像:

Lst_new <- list('1'=c(323), '2'=c(391), '3'=c(923), '4'=c(301))

我试图通过创建两个向量来实现这一点,一个向量只存储每个条目的第一个数字

vec<-c()
for (i in 1:length(Lst)){
temp<-paste(i)
vec<-c(vec, ind[[temp]][[1]])
}

和另一个存储id

vec_id<-c(1:length(vec))

然后把它们放在一起,但是我很难搞清楚字符串如何处理放在一起。

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:2)

lapply(Lst,"[[",1)
$`1`
[1] 323

$`2`
[1] 391

$`3`
[1] 923

$`4`
[1] 301

答案 1 :(得分:0)

如果你想删除第二个元素,并且有两个以上的元素:

> lapply(Lst, "[", -2)
$`1`
[1] 323

$`2`
[1] 391

$`3`
[1] 923

$`4`
[1] 301