【发布时间】:2020-04-14 18:46:13
【问题描述】:
假设我想创建一个复制所选列的函数,作为示例。
testdata <- data.frame(
"diff1" = c(seq(1:10)),
"diff2" = c(seq(21:30))
)
goal <- testdata %>%
mutate(newdiff1 = diff1)
所以我创建了一个函数
funtest <- function(dat,var,newvar){
dat %>%
mutate(newvar = var)
}
然而,
test2 <- funtest(testdata,diff1,newdiff1)
会返回错误:
Error: object 'diff1' not found
这种格式有效
nondesiredformat <- funtest(testdata,testdata$diff1,newdiff1)
但这会导致新变量总是被称为“newvar”,而不是我们的第三个参数。
有没有办法改变函数,使 test2 中的参数可以工作?
谢谢
【问题讨论】: