不是“你怎么...?”但更多的是“你怎么...?”
如果有人给你一个包含 200 列的文件,并且你想将其减少到分析所需的少数列,你会如何做呢?一种解决方案是否比另一种解决方案更有优势?
假设我们有一个包含列 col1、col2 到 col200 的数据框。如果您只想要 1-100,然后是 125-135 和 150-200,您可以:
dat$col101 <- NULL
dat$col102 <- NULL # etc
or
dat <- dat[,c("col1","col2",...)]
or
dat <- dat[,c(1:100,125:135,...)] # shortest probably but I don't like this
or
dat <- dat[,!names(dat) %in% c("dat101","dat102",...)]
我还缺少什么吗?我知道这看起来很主观,但这是一件非常重要的事情,当有更有效的方法时,你可能会潜入并开始以一种方式做,并养成一种习惯。很像这个问题which https://stackoverflow.com/questions/6918657/whats-the-use-of-which/6921992#6921992.
EDIT:
或者,是否有一种简单的方法来创建可行的列名称向量? name(dat) 不会在上面的代码示例中打印它们,而您需要在上面的代码示例中使用逗号,因此,如果您以这种方式打印出名称,则到处都有空格,并且必须手动输入逗号...是否有命令会给你“col1”,“col2”,“col3”,...作为你的输出,这样你就可以轻松地获取你想要的东西?