在R中使用apply with assign

Kat*_*tyB 6 loops r apply

请考虑以下示例:

Vars <- c("car","bike","lorry")
Dat <- c(10,20,22)

for (i in 1:length(Vars)){
  assign(Vars[i],Dat[i])
}
Run Code Online (Sandbox Code Playgroud)

在这里,我想在工作区中生成三个变量,这些变量根据条目Vars和中的值命名Dat.目前我正在使用循环,但我一直试图通过使用apply来删除循环,这样做的最佳方法是什么?

Ric*_*rta 7

这是何时使用for循环而不是使用循环的一个很好的例子apply.
最好的解决方案是保持原样.

如果你真的想使用*ply循环,请使用mapply

 mapply(assign, Vars, Dat, MoreArgs=list(envir=parent.frame()))
Run Code Online (Sandbox Code Playgroud)