Jor*_*dal 10 select r dplyr nse
我正在尝试创建一个函数,根据它们的位置选择DF中的列.我将始终需要第一列,然后是DF的子集.我需要为每个子集选择一个对象.
到目前为止,我尝试了以下内容:
position <- "1,28:31"
DF %>%
select_(.dots = position)
Run Code Online (Sandbox Code Playgroud)
但是我收到以下错误:
解析时出错(text = x):: 1:2:意外'x'
似乎问题是列位置的逗号分离.
有解决方法吗?
MrF*_*ick 23
您可以使用select索引的数字向量:
positions <- c(1,28:31)
DF %>% select(positions)
Run Code Online (Sandbox Code Playgroud)
dplyr 的另一个解决方案:
DF %>%
select(!!c(1, 28:31))
Run Code Online (Sandbox Code Playgroud)
比照:https://www.rdocumentation.org/packages/dplyr/versions/0.7.6/topics/select
您还可以与dplyr version 0.8
DF %>%
select(1, 28:31)
Run Code Online (Sandbox Code Playgroud)
Select.by.pos <- function(pos, dt){
return(dt[, pos])
}
Run Code Online (Sandbox Code Playgroud)
pos 参数不应该是字符串,而应该是数字向量:) dt 是一个数据帧