【发布时间】:2016-10-31 19:21:26
【问题描述】:
假设我有以下数据框:
a <- runif(10)
dd <- as.data.frame(t(a))
names(dd) <- c("ID", "a", "a2", "b", "b2", "f", "XXX", "1", "4", "8")
在dplyr 中,有一种选择列数的好方法。例如,要选择列 a 和列 f 之间的列,我可以使用
dd %>% dplyr::select(a:f)
在我的问题中,数据框最后一部分的列可能会有所不同,但它们的名称总是在 1 到 99 之间。但是,我似乎无法执行与上述相同的技巧:
> dd %>% select(1:99)
Error: Position must be between 0 and n
> dd %>% select("1":"99")
Error: Position must be between 0 and n
这是因为使用select() 会尝试以这种方式按位置选择列。
我希望能够获得一个数据框,其中所有列都在 a 和 f 之间,并且标签是 1 之间的数字强>和99。 select() 可以一次性完成吗?
【问题讨论】:
标签: r dplyr identifier illegal-characters