【发布时间】:2017-06-07 04:39:36
【问题描述】:
R如何解释以下函数定义中的行:arg.list <- list(x, y),它是在执行时将x和y复制到arg.list对象中还是通过引用传递?
fplot <- function(x, y, add=FALSE){
arg.list <- list(x, y)
if(!add){
plot(arg.list))
}else{
lines(arg.list)
}
}
【问题讨论】:
-
请注意,您当前的问题与传递给函数的参数无关(如标题所示),而是从标量向量变量构造容器变量...这真的是您的意图吗?
-
@R Yoda,在我的实际功能中,
x和y是data.frame,然后我像这样使用它们:x$var1 -
x 和 y 如果您在函数外部或内部修改它,肯定会被复制(在此之前,“第一次修改时复制”仍然是正确的,以避免不必要的内存复制)。
x$var产生一个向量...
标签: r functional-programming parameter-passing pass-by-reference