gpt4 book ai didi

r - 如何从列表中删除空数据框?

转载 作者:行者123 更新时间:2023-12-03 11:35:26 26 4
gpt4 key购买 nike

我有几十个列表,每个列表都是 11 个数据框的集合。一些数据框是空的(另一个脚本没有输出任何数据,不是错误)。

我需要通过一个函数推送每个列表,但是当它看到一个空的数据框时会窒息。那么我如何编写一个接受列表的函数,在每个元素(即数据框)上做一个暗淡,如果它是 0,则跳到下一个。

我试过这样的事情:

empties <- function (mlist)
{
for(i in 1:length(mlist))
{
if(dim(mlist[[i]])[1]!=0) return (mlist[[i]])
}
}

但很明显,这行不通。此时我会手动执行此操作,但这将花费很长时间。帮助?

最佳答案

我不确定这是否正是您所要求的,但如果您想修剪 mlist在运行函数之前只包含非空数据帧,尝试 mlist[sapply(mlist, function(x) dim(x)[1]) > 0] .

例如。:

R> M1 <- data.frame(matrix(1:4, nrow = 2, ncol = 2))
R> M2 <- data.frame(matrix(nrow = 0, ncol = 0))
R> M3 <- data.frame(matrix(9:12, nrow = 2, ncol = 2))
R> mlist <- list(M1, M2, M3)
R> mlist[sapply(mlist, function(x) dim(x)[1]) > 0]
[[1]]
X1 X2
1 1 3
2 2 4

[[2]]
X1 X2
1 9 11
2 10 12

关于r - 如何从列表中删除空数据框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3261452/

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