gpt4 book ai didi

r - 当行不消失时,删除data.frame中的所有空列和行

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

我有两个data.frames,dA(HERE)和dB(HERE)。它们完全相同,只是dB具有一个完全为空的列和多个为空的行。

dA <- read.csv("https://raw.githubusercontent.com/izeh/m/master/irr3.csv", h = T)
dB <- read.csv("https://raw.githubusercontent.com/izeh/m/master/irr4.csv", h = T)

我想删除 dB中的所有空列和所有空行,以便 dB变得完全类似于 dA

目前,我尝试以下方法来实现我的目标 ,但看来空行不会被删除:
# remove columns with all NA
B1 <- dB[, colSums(is.na(dB)) != nrow(dB)]

# remove rows with all NA
B2 <- B1[rowSums(is.na(B1)) != ncol(B1), ] # NOW, check by: `nrow(B2)` the `NA` haven't
# been removed !!

最佳答案

您有NA,也有空行。你可以做

B1[rowSums(is.na(B1) | B1 == "") != ncol(B1), ]

# study.name group.name outcome ESL prof scope type
#1 Shin.Ellis ME.short 1 1 2 1 1
#2 Shin.Ellis ME.long 1 1 2 1 1
#3 Shin.Ellis DCF.short 1 1 2 1 2
#4 Shin.Ellis DCF.long 1 1 2 1 2
#5 Shin.Ellis Cont.short 1 1 2 NA NA
#6 Shin.Ellis Cont.long 1 1 2 NA NA
#8 Trus.Hsu Exper 1 2 2 2 1
#.....

我们也可以使用 filter_all中的 dplyr
library(dplyr)
B1 %>% filter_all(any_vars(!is.na(.) & . != ""))

关于r - 当行不消失时,删除data.frame中的所有空列和行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58272853/

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