gpt4 book ai didi

r - 如何在使用 bind_rows() 之前删除列表中的空数据帧?

转载 作者:行者123 更新时间:2023-12-01 11:13:57 28 4
gpt4 key购买 nike

我有一个混合数据框、tibble 和空列表的列表。在应用 bind_rows 附加其余数据帧之前,如何删除 tibble 和空列表?

我尝试使用 delete.NULLs 函数,但出现错误:

Error: could not find function "delete.NULLs"

最佳答案

我们可以使用discard

library(purrr)
discard( lst1, ~is.vector(.x) || is.null(.x)|is_tibble(.x) )

编辑:来自@ArtemSokolov 的评论


或者来自 base R

out <-  Filter(function(x) !(is.vector(x) | is.null(x) |is_tibble(x)), lst1)
out
#[[1]]
# col1
#1 1
#2 2
#3 3

#[[2]]
# A B
#1 1 2
#2 2 3
#3 3 4
#4 4 5
#5 5 6

base R 中找不到 delete.NULLs 函数。但是,它可以通过 is.null 和 negate (!) 的组合来创建。

数据

lst1 <- list(data.frame(col1 = 1:3), NULL, tibble(col1 = 1:5, 
col2 = 2:6), NA, data.frame(A = 1:5, B = 2:6))

关于r - 如何在使用 bind_rows() 之前删除列表中的空数据帧?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55760523/

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