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