【发布时间】:2011-09-24 05:37:17
【问题描述】:
我有 Java 和 Python 背景,最近在学习 R。
今天我发现 R 处理对象的方式似乎与 Java 和 Python 完全不同。
例如下面的代码:
x <- c(1:10)
print(x)
sapply(1:10,function(i){
x[i] = 4
})
print(x)
代码给出以下结果:
[1] 1 2 3 4 5 6 7 8 9 10
[1] 1 2 3 4 5 6 7 8 9 10
但我希望输出的第二行全是“4”,因为我在 sapply 函数中修改了向量。
那么这是否意味着 R 在函数调用中复制对象而不是引用对象?
【问题讨论】: