R 使用 dyplyr 函数内部的粘贴来构建本地函数
R Using paste inside of dyplyr functions to build a local function
我正在尝试在构建本地函数时使用 dplyr 的摘要或重命名中的粘贴来命名变量。我收到一个错误:意外的 '=' in: " mutate(some.text= x) %>% rename(paste('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)
非常感谢任何帮助,在此先感谢!
试试这个:
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))
}
我正在尝试在构建本地函数时使用 dplyr 的摘要或重命名中的粘贴来命名变量。我收到一个错误:意外的 '=' in: " mutate(some.text= x) %>% rename(paste('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)
非常感谢任何帮助,在此先感谢!
试试这个:
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))
}