1

嗨,我不太了解 Rserve 在多个命令的情况下的返回类型。例如。

a<-rnorm(10);a[4];rnorm(3)

似乎 Rserve 只返回最后一个评估的语句,即 rnorm(3)。是否可以使用 Rserve 获得所有三个输出值?

我也很想知道在 R 中我们如何获得最后一个评估表达式的返回值?R 中是否有一个特殊字符可以像 perl 中那样获得?

4

1 回答 1

3

这是正常的 R 行为,与您在函数中获得的行为相当。例如:

spam = function(x, y) {
  z = x + y
}

这里 R 返回z,因为这是最后一次执行的操作。要获取所有对象,您可以使用列表:

spam = function(x, y) {
  z = x + y
  list(x,y,z)
}

这应该适用于您的情况:

a<-rnorm(10);list(a,a[4],rnorm(3))

另外,我不知道提取最后执行的表达式的方法,但无论如何我都不建议使用它。这种语法只会使程序的流程更难阅读,并不会为您节省任何时间。

于 2012-05-02T11:42:10.320 回答