我正在尝试使用dplyr内部的粘贴进行汇总或重命名,以便在构建本地函数时命名变量。我收到错误:意外' =' in:" mutate(some.text = x)%>%重命名(粘贴(' hp',x,sep ='')="
以下是一个例子:
data(mtcars)
get.information <- function(df, x) {
df %>%
group_by(hp) %>%
summarize(paste('hp', x, sep= "")= n()) %>%
mutate(some.text= x)
}
或
get.information <- function(df, x) {
df %>%
group_by(hp) %>%
summarize(Frequency= n()) %>%
mutate(some.text= x) %>%
rename(paste('hp', x, sep= "")= Frequency)
}
get.information(mtcars, 2)
我很感激任何帮助,提前谢谢!
答案 0 :(得分:1)
试试这个:
get.information <- function(df, x) {
var.name = paste0('hp', x)
var.val = lazyeval::interp('Frequency')
df %>%
group_by(hp) %>%
summarize(Frequency= n()) %>%
mutate(some.text= x) %>%
mutate_(.dots = setNames(list(var.val), var.name))
}