gpt4 book ai didi

r - 删除列表中的 "empty"条目

转载 作者:行者123 更新时间:2023-12-02 07:30:06 26 4
gpt4 key购买 nike

我有一个列表,每个条目都是一个data.frame。我还编写了一个函数,试图清除具有零行的 data.frames:

delete_zeroes <- function(data){
if(nrow(data) == 0){
return(NULL)
}
(data)
}

llply(data, delete_zeroes)

但是,这似乎只是将 NULL 放在匹配的条目上。我想完全摆脱每个匹配的条目。我怎样才能做到这一点?

最佳答案

您可以使用逻辑索引来排除具有没有行的 data.frame 的每个项目:

# example data
l <- list(a=data.frame(a=1:3), b=data.frame(), c=data.frame(a=1:3))
# $a
# a
# 1 1
# 2 2
# 3 3
#
# $b
# data frame with 0 columns and 0 rows
#
# $c
# a
# 1 1
# 2 2
# 3 3

nr <- sapply(l, nrow)
# a b c
# 3 0 3

l <- l[nr > 0]
# $a
# a
# 1 1
# 2 2
# 3 3
#
# $c
# a
# 1 1
# 2 2
# 3 3

关于r - 删除列表中的 "empty"条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22818205/

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