【发布时间】:2020-05-22 12:18:59
【问题描述】:
我有一些运行良好的代码,我重复了它 我的代码中多次使用相同的格式,所以我尝试换行 它在一个广义函数中,一旦我这样做,它就会停止 在职的。我不知道为什么,但我错过了一些东西 基本的。如果你能告诉我我的基本错误,我很高兴。谢谢。 J
在代码中起作用的函数格式为:
vec1[ as.logical (vec1 == val1 & vec2 >= val2)] <- val3
所以这会将 vec1 中的值从当前值更改为 val3, 当条件满足时。但是,如果我创建一个这样的函数 作为
ChangeState <- function (vec1, vec2, val1, val2, val3) {
vec1[as.logical(vec1 == va1 & vec2 >= val2)] <- val3
}
然后我就这样执行它:
ChangeState(inputvec1, inputvec2, value1, value2, value3)
什么也没发生,它不会改变 vec1 中的任何值,即使 它应该。它运行并且不会抛出任何错误或警告。这可能是一个“范围界定”问题吗?如果是这样,我该如何解决?
【问题讨论】:
-
你需要在你的函数中返回 Vec1...
return(Vec1)