R 如何为函数中的输出全局数据帧指定名称?

R 如何为函数中的输出全局数据帧指定名称?,r,dplyr,R,Dplyr,我有大约12个数据集,在我的最终代码中将它们实现为数据表之前,我正试图清理它们。我目前有一些代码可以用于单个数据集,但我想将其作为一个函数来实现,这样我就不必反复地重新键入代码块 countyshapesClean <- function(inputdata, outputdata) { outputdata <<- inputdata %>% select( county_cl, state_abb, avg_opioid, avg_oxy_hydr

我有大约12个数据集,在我的最终代码中将它们实现为数据表之前,我正试图清理它们。我目前有一些代码可以用于单个数据集,但我想将其作为一个函数来实现,这样我就不必反复地重新键入代码块

countyshapesClean <- function(inputdata, outputdata) {
  outputdata <<- inputdata %>%
select(
  county_cl,
  state_abb,
  avg_opioid,
  avg_oxy_hydro,
  avg_opioid_perc,
  avg_oxy_hydro_perc,
  avg_opioid_ppp,
  avg_oxy_hydro_ppp
) %>% 
mutate(
  avg_opioid = format(round(as.numeric(avg_opioid),2), nsmall = 2, big.mark = ","),
  avg_oxy_hydro = format(round(as.numeric(avg_oxy_hydro),2), nsmall = 2, big.mark = ","),
  avg_opioid_perc = format(round(as.numeric(avg_opioid_perc),2), nsmall = 2, big.mark = ","),
  avg_oxy_hydro_perc = format(round(as.numeric(avg_oxy_hydro_perc),2), nsmall = 2, big.mark = ","),
  avg_opioid_ppp = format(round(as.numeric(avg_opioid_ppp),2), nsmall = 2, big.mark = ","),
  avg_oxy_hydro_ppp = format(round(as.numeric(avg_oxy_hydro_ppp),2), nsmall = 2, big.mark = ",")
)
}

countyshapesClean(inputdata = countymerge2006, outputdata = countymerge2006clean)

countyshapesClean不要将
outputdata
传递给函数。相反,做一些类似的事情

countymerge2006clean <- countyshapesClean(inputdata = countymerge2006)

这可能有用!但我需要输出数据集是不同的name@AnirudhNambiar这确实给了它一个不同的名字。您只需指定您想要的任何变量名。上面创建了新变量
countymerge2006clean
。哦,我是个白痴!非常感谢!我接受这个答案。
countyshapesClean <- function(inputdata) {
  inputdata %>%
  select(...) %>% 
  mutate(...)
}
countyshapesClean <- function(inputdata, outputdata) {
  outvar <- rlang::ensym(outputdata)
  new <- inputdata %>%
    select(...) %>% 
    mutate(...)
  assign(rlang::quo_name(outvar), new, parent.frame())
}
countyshapesClean(inputdata = countymerge2006, outputdata = countymerge2006clean)