这是我的数据框架的一个例子,其中包含一个列表。
df <- data.frame(x = 1:2, y = c("A", "B"))
df$z <- rep(list(1:3), 2)
df
> df
x y z
1 1 A 1, 2, 3
2 2 B 1, 2, 3我想按以下方式对列表进行unlist,并重新排列数据框架:
x y z
1 1 A 1
2 1 A 2
3 1 A 3
4 2 B 1
5 2 B 2
6 2 B 3我试过unlist(df),但没能把它做好。
发布于 2022-11-14 23:29:43
tidyr::unnest(df,z) # or even unnest_longer(df, z)
# A tibble: 6 × 3
x y z
<int> <chr> <int>
1 1 A 1
2 1 A 2
3 1 A 3
4 2 B 1
5 2 B 2
6 2 B 3发布于 2022-11-14 23:31:30
也许可以试试这样的方法:
require(dplyr)
df %>%
apply(1, function(x) expand.grid(x[1][[1]], x[2][[1]], x[3][[1]])) %>%
reduce(rbind)https://stackoverflow.com/questions/74439029
复制相似问题