相关疑难解决方法(0)

如何删除R中的空列?

我有一个CSV文件

Identity,Number,Data,Result,Add,,,,,,,,,,,,
1,,,,4,55,,92,,,,,,,,,62,
3,,,,7,43,,12,,,,,,,,,74,
7,,,,3,58,,52,,,,,,,,,64,
0,,,,6,10,,22,,,,,,,,,96,
3,,,,8,13,,92,,,,,,,,,22,
Run Code Online (Sandbox Code Playgroud)

如何删除R中的空列?

期望的输出

Identity,Number,Data,Result,Add
1,4,55,92,62
3,7,43,12,74
7,3,58,52,64
0,6,10,22,96
3,8,13,92,22
Run Code Online (Sandbox Code Playgroud)

csv r

6
推荐指数
2
解决办法
1万
查看次数

使用dplyr管道删除空列

我有一个广泛格式的参与者问卷答复数据框,每列代表一个特定的问题/项目.

数据框看起来像这样:

id <- c(1, 2, 3, 4)
Q1 <- c(NA, NA, NA, NA)
Q2 <- c(1, "", 4, 5)
Q3 <- c(NA, 2, 3, 4)
Q4 <- c("", "", 2, 2)
Q5 <- c("", "", "", "")
df <- data.frame(id, Q1, Q2, Q3, Q4, Q5)
Run Code Online (Sandbox Code Playgroud)

我希望R删除在每个行中具有所有值的列,这些行是(1)NA或(2)空白.因此,我不希望列Q1(完全由NAs组成)和列Q5(完全由""形式的空白组成).

根据这个帖子,我可以使用以下内容删除完全由NA组成的列:

df[, !apply(is.na(df), 2, all]
Run Code Online (Sandbox Code Playgroud)

但是,该解决方案不解决空白("").当我在dplyr管道中完成所有这些操作时,是否还有人可以解释如何将上述代码合并到dplyr管道中?

此时,我的dplyr管道如下所示:

df <- df %>%
    select(relevant columns that I need)
Run Code Online (Sandbox Code Playgroud)

之后,我被困在这里并使用方括号[]来对非NA列进行子集化.

谢谢!非常感激.

r dplyr

2
推荐指数
3
解决办法
1719
查看次数

标签 统计

r ×2

csv ×1

dplyr ×1