这是我想要获得的,但是避免添加" e $"在函数内部的所有变量之前。感谢
e <- globalenv()
f <- function(P) {
e$c <- P + 1
e$d <- c + 2
}
f(2)
答案 0 :(得分:0)
这是一个非常坏主意,但你可以做
f <- function(P) {
x <<- P + 1
y <<- x + 2
}
f(2)
我没有使用变量c
,因为它也是一个(相当重要的)函数名称。确实会失败。
如果你需要将第一个函数(f1
)返回的多个值传递给另一个函数(f2
),你应该做的是:
f1 <- function(P) {
x <- P + 1
y <- x + 2
list(x=x, y=y)
}
f2 <- function(x, y) {
x + y
}
r <- f1(2)
f2(r$x, r$y)
或
r <- f1(2)
do.call(f2, r)