R使用dyplyr函数内部的粘贴来构建局部函数
在构建局部函数时,我试图在dplyr的summary或rename中使用paste来命名变量。我收到一个错误:“mutate(some.text=x)%>%rename(paste('hp',x,sep='')=”中出现意外的“=”“ 以下是一个例子:R使用dyplyr函数内部的粘贴来构建局部函数,r,dplyr,rename,paste,summarize,R,Dplyr,Rename,Paste,Summarize,在构建局部函数时,我试图在dplyr的summary或rename中使用paste来命名变量。我收到一个错误:“mutate(some.text=x)%>%rename(paste('hp',x,sep='')=”中出现意外的“=”“ 以下是一个例子: data(mtcars) get.information <- function(df, x) { df %>% group_by(hp) %>% summarize(paste('hp', x, se
data(mtcars)
get.information <- function(df, x) {
df %>%
group_by(hp) %>%
summarize(paste('hp', x, sep= "")= n()) %>%
mutate(some.text= x)
}
数据(mtcars)
获取.信息%
分组依据(hp)%>%
汇总(粘贴('hp',x,sep=“”)=n())%>%
变异(some.text=x)
}
或
get.information%
分组依据(hp)%>%
汇总(频率=n())%>%
变异(some.text=x)%>%
重命名(粘贴('hp',x,sep=“”)=频率)
}
获取信息(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))
}
get.information%
分组依据(hp)%>%
汇总(频率=n())%>%
变异(some.text=x)%>%
mutate_(.dots=setNames(list(var.val),var.name))
}
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))
}