有人可以解释下面的例子吗?所以我试图计算减肥效果。但是,在分配结束重量时,我在第2行输入了一个拼写错误。所以在第6行,我将结束值重新分配给了andy_loss。我想过,一旦我这样做,那么andy_loss vector会自动更新它的值,但它没有。我想如果andy_loss是一个函数,它会更新自己吗?但有人能从根本上向我解释一下计算机如何存储并返回R环境下的值吗?
感谢。
> andy_start <- andy[1,"Weight"]
> andy_end <- andy[1,"Weight"]
> andy_loss<- andy_start - andy_end
> andy_loss
[1] 0
> andy_end <- andy[30,"Weight"]
> andy_loss
[1] 0
> andy_loss<- andy_start - andy_end
> andy_loss
[1] 5
答案 0 :(得分:2)
在这种情况下,存储数据的变量andy_start和andy_end不是动态链接的。它们可以被视为数据的单独存储,您必须一次更新一个数据。当您执行andy_start-andy_end时,您将创建一个存储结果的新向量。这些项中的任何一个都是动态链接的。
如果您在电子表格或数据库中设置了类似的内容,那么它们的结果可能会动态链接,因此如果您更新了andy_end,它将会流向andy_loss。这是关系数据库和静态数据存储(如文本文件)之间的关键区别。