按条件在R中选择数据框列

时间:2015-02-24 13:46:51

标签: r

我有一个包含多个列的data.frame,其中一些对应于数字变量,另一些对应于分类。 如何仅使用数字或分类变量创建此data.frame的子集?

1 个答案:

答案 0 :(得分:1)

如果你能提供一个你想要排序的信息类型的例子会很有帮助,但是这可能就是你要找的。

data <- data.frame(id=1:10, 
               type=sample(c("a,","b"), size=10,replace=TRUE),
               age=sample(5:20,size=10, replace= TRUE),
               colour=sample(c("red","blue","pink", "green"), size=10,replace=TRUE),
               qty=sample(100:150, size= 10, replace= TRUE))

data[,"factor"==sapply(data,class)]
data[,"integer"==sapply(data,class)]

如果您想要始终包含ID列,您可以执行以下操作

data[,c(TRUE,"factor"==sapply(data[,-1],class))]