Вы можете следить за ответом по предоставленной вами ссылке.Просто отметьте, что lapply
возвращает объект класса "list"
.Все, что вам нужно сделать, это создать фрейм данных без последнего столбца z
и назначить список этому столбцу.
df <- data.frame(w=c(1,2),x=c('asdf','yxcv'), y=c(1234, 5678))
df$z <- list(c(1,2,3,4), c(5,6,7,8))
Теперь он работает как требуется.
df
# w x y z
#1 1 asdf 1234 1, 2, 3, 4
#2 2 yxcv 5678 5, 6, 7, 8
Извлечение,Примечание разница между [
и [[
.
df$z[1]
#[[1]]
#[1] 1 2 3 4
df$z[[1]]
#[1] 1 2 3 4
и операциями над элементами списка.
sum(df$z[1])
#Error in sum(df$z[1]) : 'type' inválido (list) do argumento
sum(df$z[[1]])
#[1] 10