在多个语句的情况下保留返回类型

时间:2012-05-02 11:22:12

标签: r rserve

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

a<-rnorm(10);a[4];rnorm(3)
似乎Rserve只返回最后评估的语句,即。 RNORM(3)。是否可以使用Rserve获得所有三个输出值?

另外,我有兴趣知道R中究竟如何获得最后一次计算表达式的返回值? R中是否有一个特殊字符可以像perl一样使用它?

1 个答案:

答案 0 :(得分: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))

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