我想删除只有唯一值的列。
首先,我尝试将它用于单个列并且它有效:
data %/%
select_if(length(unique(data$policy_id)) > 1)
然后我尝试多列如下:data %/%
select_if(length(unique(data[, c("policy_date", "policy_id"])) > 1)
但它不起作用。由于我缺乏经验,我认为这是一个概念上的错误。提前致谢
最佳答案
您可以使用 select(where())
.
假设我有一个这样的数据框:
df <- data.frame(A = LETTERS[1:5], B = 1:5, C = 2)
df
#> A B C
#> 1 A 1 2
#> 2 B 2 2
#> 3 C 3 2
#> 4 D 4 2
#> 5 E 5 2
然后我可以这样做:df %>% select(where(~ n_distinct(.) > 1))
#> A B
#> 1 A 1
#> 2 B 2
#> 3 C 3
#> 4 D 4
#> 5 E 5
关于删除只有唯一值的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64555491/