【发布时间】:2019-09-18 13:03:24
【问题描述】:
我想创建一个函数来转换它的对象。
我已尝试像往常一样转换变量,但在函数内。
这行得通:
vec <- c(1, 2, 3, 3)
vec <- (-1*vec)+1+max(vec, na.rm = T)
[1] 3 2 1 1
这不起作用:
vec <- c(1, 2, 3, 3)
func <- function(x){
x <- (-1*x)+1+max(x, na.rm = T))
}
func(vec)
vec
[1] 1 2 3 3
【问题讨论】:
-
在函数中添加
return(x)后,只需将值赋回vec,vec <- func(vec)即可。 -
您的“func”函数没有返回任何值。删除函数体中的“x
-
你的向量是通过值传递给函数的,而不是通过引用
-
@MarcoPastorMayo 这是个坏主意。带有副作用的函数没有什么比这更容易或更方便了。