我试图在同一个函数中显示两个结果,我写的代码如下:
myFun <- function(x,y,z){
sum1 <- x+y
print("The first sum is:")
return(sum1)
sum2 <- y+z
print("The second sum is:")
return(sum2)
}
但是,我只得到sum1作为输出。之后,从不执行sum2块。
我得到的结果是:
> myFun(2,3,4)
[1] "The first sum is:"
[1] 5
>
我做错了什么?有人可以帮助我吗?
感谢。
答案 0 :(得分:1)
myFun <- function(x,y,z){
sum1 <- x+y
print("The first sum is:")
sum2 <- y+z
print("The second sum is:")
return(sum2)
}
return(variable)返回变量并退出。 试试上面的那个。
答案 1 :(得分:1)
从我上面的评论中复制
第一个return
突破了该功能。如果要执行并返回两个语句,最后只使用一个return语句,例如
return(list(sum1, sum2))
或打印,返回
f(paste, sum1, sum2)
其中f
只是定义打印返回格式的函数。