来自R中多个功能的打印特定输出

时间:2014-01-28 18:56:42

标签: r printing

我有多个用R编写的用户定义函数。我通常会输出代码,然后在R控制台中打印输出。我的问题是我有3个函数写在一个文件中,所有三个函数都有相似的输出(这里我有z,这在所有三个函数中都很常见)..在R中是否有任何解决方案,我不必键入print(z)在每个功能的最后,但在采购我的代码后,我应该能够打印特定于功能的z吗?

harry<-function(i){
for(i in 3:5) {
    z <- i + 1
    print(z)
}
}
harry1<-function(i){
for(i in 1:5) {
    z <- i + 1
    print(z)
}
}

harry2<-function(i){
for(i in 1:5) {
    z <- i + 5
    print(z)
}
}

2 个答案:

答案 0 :(得分:1)

harry <- function(i){
z <- 1 # initialize
  for(i in 3:5) {
    z[i] <- i + 1 # save to vector
  }
return(z) # returns the object z
}

现在你可以去:

harry(100)
z <- harry(100)
print(z)    
z

访问相同的信息。

答案 1 :(得分:1)

我可以建议一种更通用的做事方式吗?

harry<-function(i,sq){
   sapply(sq, function(s,i) {
      s + i
   }, i=i )
}
harry(i=1,sq=3:5)
harry(i=1,sq=1:5)
harry(i=5,sq=1:5)