【发布时间】:2018-06-15 15:16:54
【问题描述】:
我不确定为什么我会从这些函数中得到不同的结果。
change_it1 <- function(x) {
x[x == 5] <- -10
}
change_it2 <- function(x) {
x[x == 5] <- -10
x
}
x <- 1:5
x <- change_it1(x)
x
x <- 1:5
x <- change_it2(x)
x
为什么这两个函数不以相同的方式改变 x?
x[x==5] <- -10
【问题讨论】:
-
在第一种情况下,你得到赋值的值,在第二种情况下,你得到赋值后'x'的值。它在这两种情况下都改变了“x”,但是你只返回赋值而不是对象“x”
-
不确定,但我认为 x 的值在您尝试运行第二个时发生了变化,它具有不同的值。尝试为第二个变量使用不同的变量
-
@Sam 在函数中并非如此。值在本地更改。此外,OP 在每次运行之前都会更改变量“x”
标签: r