如何将填充有嵌套列表的数据框列转换为文本字符串,但保留列表元素名称?
我尝试过:
data_frame$column_new <- paste(unlist(data_frame$column), collapse = “”)
它可以工作,但会为相应行中的每个列表创建一个字符串,该字符串不保留列表元素名称,而几乎保留在那里。
列表如下:
data_frame
10000 obs. of 1 variable
column: list of 10000
..$ :list of 1
.. ..$ list of 6
.. .. ..$ apple : chr "small"
.. .. ..$ pear : int 3
.. .. ..$ orange: list()
.. .. ..$ grape: list of 2
下一行 .. $:列表1 .. .. $清单6 .. .. .. $苹果:chr“小” .. .. .. $ pear:int 3 .. .. .. $ orange:list() .. .. .. $葡萄:清单2
我希望将结果放回数据框单元格中
所以目前看起来像这样:
data_frame$column
list
list
“”
致......
data_frame$column new_column_string
list new text string of every thing in list (with names kept)
list new text string of list “”
他现在就在那里,
使用
<- sapply(data_frame$colum_string,
function(x) paste(unlist(x, use.names = TRUE), collapse = “ “))
但是不保留列表元素名称!
答案 0 :(得分:0)
data_frame <- data.frame(column = I(list(
list(list(apple = "large", pear = "small")),
list(banana = "tiny"),
list(list(kiwi = "fat", list(orange = "huge")))
)))
data_frame$new_column_string <-
vapply(data_frame$column, function(.x) {
y <- unlist(.x, use.names = TRUE)
paste(names(y), y, sep = ' = ', collapse = ', ')
}, FUN.VALUE = character(1))
data_frame
# column new_column_string
# 1 list(app.... apple = large, pear = small
# 2 tiny banana = tiny
# 3 list(kiw.... kiwi = fat, orange = huge