【发布时间】:2016-12-16 01:39:06
【问题描述】:
要取消嵌套我可以使用的数据框:
df <- data_frame(
x = 1,
y = list(a = 1, b = 2)
)
tidyr::unnest(df)
但是如何在数据框列内的列表中取消嵌套列表?
df <- data_frame(
x = 1,
y = list(list(a = 1, b = 2))
)
tidyr::unnest(df)
错误:
每一列必须是向量列表或数据框列表 [y]
【问题讨论】:
-
结果应该是什么样的?
-
与第一个代码块相同。
data_frame(x = c(1, 1), y = c(1, 2)) -
如果你想走得更远,
df %>% mutate(y = list(as.data.frame(y))) %>% unnest()很长一段时间,也许是df %>% do(data_frame(x = .$x, y = unlist(.$y)))或df %>% mutate(y = data_frame(unlist(y))) %>% unnest() -
unnest(unnest(df))有什么问题?