gpt4 book ai didi

r - 取消嵌套数据框并用 NA 填充新行

转载 作者:行者123 更新时间:2023-12-04 03:25:27 25 4
gpt4 key购买 nike

假设我有一个嵌套的 df,我想取消嵌套列:

df <- tibble::tribble(
~x, ~y, ~nestdf,
1, 2, tibble::tibble(a=1:2, b=3:4),
3, 4, tibble::tibble(a=3:5, b=5:7)
)
tidyr::unnest(df, nestdf)

# x y a b
# <dbl> <dbl> <int> <int>
#1 1 2 1 3
#2 1 2 2 4
#3 3 4 3 5
#4 3 4 4 6
#5 3 4 5 7

结果扩展了 xy 列以匹配 nestdf 的维度,新行使用现有值。但是,我希望新行包含 NA,如下所示:

#      x     y     a     b
# <dbl> <dbl> <int> <int>
#1 1 2 1 3
#2 NA NA 2 4
#3 3 4 3 5
#4 NA NA 4 6
#5 NA NA 5 7

是否可以用 unnest 做到这一点?每个组的第一行或最后一行都可以保留为非 NA,我不介意。

最佳答案

重复行,并与嵌套列表列的 unnest 绑定(bind):

nr <- sapply(df$nestdf, nrow) - 1
cbind(
df[rep(rbind(seq_along(nr), NA), rbind(1, nr)), c("x","y")],
unnest(df["nestdf"], cols=everything())
)

# x y a b
#1 1 2 1 3
#2 NA NA 2 4
#3 3 4 3 5
#4 NA NA 4 6
#5 NA NA 5 7

关于r - 取消嵌套数据框并用 NA 填充新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67697557/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com