У меня есть следующий столбец в моей таблице данных (внутри больше списков, но я просто предоставляю его упрощенно)
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")
Я рассмотрел множество примеров здесь и на inte rnet о вложенных списках, кажется, что это должно быть легко, но не похоже, что это работает достаточно как я и собираюсь. Я использую следующие варианты кода
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")
Должно быть что-то не так с моим пониманием, но я могу Не понимаю, почему так происходит