在R中删除一元变量

时间:2015-09-02 20:14:18

标签: r

我想了解如何从R中的数据框中删除变量(如果它们是一元的,只包含一个值)。我有时拥有包含数千个变量的数据框,我的第一步就是摆脱那些变量(通常是从数据仓库交给我的)。

我知道我可以放弃像

这样的列
drops <- c("x","z")
DF[,!(names(DF) %in% drops)]

如下所述: Drop data frame columns by name

但是我想要一些搜索所有变量的方法,并且只删除一元。

1 个答案:

答案 0 :(得分:8)

我认为这应该确定一个非常规的&#34;根据你的定义变量:

nonunary <- function(x) length(unique(x))>1

这应该相应地过滤数据框中的变量:

DF[sapply(DF,nonunary)]