Q1:
sorting = function (table, column) {
# mtcars[order(mpg),]
return(table[order(column),])
}
[sorting(mtcars, "mpg")
等效于mtcars[order("mpg"),]
,但不等于我想要获得的结果,即mtcars[order(mpg),]
,如何将其从字符串转换为列名。
Q2:
类似:
library(tidyr)
comb = function(table, colNNN, arr, sep) {
return(unite(table, colNNN, all_of(arr), sep = sep))
}
而且我愿意
comb(mtcars,"gearCarb",c("gear","carb"), "-")
并且我得到colNNN
作为最后的列名,
那么如何将符号转换为字符串?
Q1可以解决,而无需使用非标准评估
library(dplyr)
sorting = function (table, column) {
return(table %>% arrange_at(column))
}
sorting(mtcars, "mpg")
对于第二季度,我们可以使用{{}}
comb = function(table, colNNN, arr, sep) {
return(unite(table, {{colNNN}}, arr, sep = sep))
}
comb(mtcars,"gearCarb",c("gear","carb"), "-")