r - R studio中的IF ELSE函数
问题描述
有人可以解释为什么这段代码输入 1:exam(5) 吗?
exam<-function(x){
y<-1
if(x==1){
return(1)
}
else{
return(y*exam(x-1))
y<-y+1
}
}
解决方案
我稍微改变了你的脚本
exam<-function(x){
y<-1
if(x==1){
print("if x===1")
return(1)
}
else{
print(paste("x = ",x ))
return(y*exam(x-1))
y<-y+1
}
}
现在您应该能够看到每个递归迭代的结果
> exam(5)
[1] "x = 5"
[1] "x = 4"
[1] "x = 3"
[1] "x = 2"
[1] "if x===1"
[1] 1
因为你没有解释你期望的结果,所以很难进一步帮助你。