【发布时间】:2020-08-20 09:18:26
【问题描述】:
我的数据表中有以下列(里面还有更多列表,但我只是提供了简化)
n col1
1 list(c("1", "2", "3", "5"), c("5", "6", "8", "8"))
2 list(c("9", "10", "11", "12"), c("13", "14", "15", "16"))
我想从行中的每个列表中提取第一个值。所以,我想要结果
n col2
1 c("1", "5")
2 c("9", "13")
我在这里和互联网上查看了许多关于嵌套列表的示例,看起来应该很容易,但它似乎并不像我想要的那样工作。我使用以下代码变体
1. dt$col2 <-sapply(dt$col1 , "[[", 1)
`2. dt$col2 <- lapply(dt$col1, function(l) l[[1]])`
`3. dt$col2 <- rvest::pluck(dt$col1, 1)`
但它们都给出相同的输出,基本上是第一个列表
n col2
1 c("1", "2", "3", "5")
2 c("9", "10", "11", "12")
我的理解一定有问题,但我不明白为什么会这样
【问题讨论】: