gpt4 book ai didi

r 将数据框 R 的列表与 NULL 绑定(bind)

转载 作者:行者123 更新时间:2023-12-02 20:30:53 25 4
gpt4 key购买 nike

我有一个像这样的数据框架结构列表:

我们将此列表称为 listA:

$ :'data.frame':      1 obs. of 3 variables:
..$ a :chr a1
..$ b :chr b1
..$ c :chr c1

$ : NULL

$ :'data.frame': 1 obs. of 3 variables:
..$ a :chr a3
..$ b :chr b3
..$ c :chr c3

如何保留数据的顺序,将记录保留为 NULL 与 NA 并形成这样的数据框?

     a    b    c
1: a1 b1 c1
2: NA NA NA
3: a3 b3 c3

我尝试过使用:

listA <- data.frame(do.call(rbind, listA))

但最终结果会跳过第二行,变成这样:

     a    b    c
1: a1 b1 c1
2: a3 b3 c3

最佳答案

我们可以创建一个条件来获取 NA如果为 NULL,则执行 rbindlist

rbindlist(lapply(listA, function(x) if(is.null(x)) data.frame(a = NA, b = NA, c= NA) else x))
# a b c
#1: a1 b1 c1
#2: NA NA NA
#3: a3 b3 c3

另一个选项可能是分配 NULL基于lengths (对于 NULL 元素返回 0)将 NA 元素分配给“data.frame”,然后执行 rbindlist

listA[!lengths(listA)] <-  list(data.frame(a = NA, b = NA, c = NA))
rbindlist(listA)

关于r 将数据框 R 的列表与 NULL 绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48793099/

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