r - 检查数据框中的列是否具有相同的值
问题描述
这是这个问题的后续问题。我想检查的是数据框中的任何列是否包含所有行的相同值(数字或字符串)。例如,
sample <- data.frame(col1=c(1, 1, 1), col2=c("a", "a", "a"), col3=c(12, 15, 22))
目的是检查数据框中的每一列,以查看哪一列对于所有行没有相同的条目。这个怎么做?特别是,既有数字也有字符串。
我的预期输出将是一个向量,其中包含具有不同条目的列号。
解决方案
我们可以使用apply
columnwise ( margin = 2
) 计算列中的唯一值,并选择唯一值数量不等于 1 的列。
which(apply(sample, 2, function(x) length(unique(x))) != 1)
#col3
# 3
也可以使用sapply
或lapply
调用相同的代码
which(sapply(sample, function(x) length(unique(x))) != 1)
#col3
# 3
一个dplyr
版本可能是
library(dplyr)
sample %>%
summarise_all(funs(n_distinct(.))) %>%
select_if(. != 1)
# col3
#1 3
推荐阅读
- gnuplot - 在 gnuplot 中缩放数据
- c++ - 为什么在使用 Howard Hinnant 的 date.h 标头时,Visual Studio 2017 可能会显示“day_point”错误:未声明的标识符?
- c# - 从句子列表中获取最长的公共子字符串
- html - 如何制作动画?
- c# - 已经有一个打开的 DataReader 与此 Connection 关联,必须先关闭它。C# 与 mysql 数据库
- docusignapi - 有没有办法,我可以在不添加收件人的情况下将签名和其他字段的锚点添加到模板中?
- android - 在Retrofit中使用notifyDataSetChanged的数据未显示在recyclerview中,但在volley中有效
- php - 是否可以使用 php laravel 从外部 url 将 .sql 文件导入数据库?
- meta-tags - Hugo 网站不显示 og:image 和 og:description
- elasticsearch - Elasticsearch - 如果搜索频率越高,得分越高