我当前有一个数据框,其中的列包含许多零,但也有一些列包含正值。
如何知道哪些列只包含零?
kiayqfof1#
这将为您提供只有0的列号。
which(colSums(df==0) == nrow(df)) #b #2
另一种写法是-
which(colSums(df != 0) == 0)
或者,找出有多少列包含零(TRUE)或不包含零(FALSE)
table(colSums(df != 0) == 0)
数据
df <- data.frame(a = c(1, 2, 3, 0), b = 0, c = c(0, 0, 0, 1))
31moq8wy2#
我们可以在dplyr中使用select
dplyr
select
library(dplyr) df %>% select(where(~ all(. == 0)))
b 1 0 2 0 3 0 4 0
要执行相反的操作,即删除这些列
df %>% select(where(~ any(. != 0)))
2条答案
按热度按时间kiayqfof1#
这将为您提供只有0的列号。
另一种写法是-
或者,找出有多少列包含零(TRUE)或不包含零(FALSE)
数据
31moq8wy2#
我们可以在
dplyr
中使用select
要执行相反的操作,即删除这些列
数据