在调用for循环内的函数时,R中的奇怪行为

时间:2013-01-06 22:05:16

标签: r function

我在R中有以下架构:

functionA<-function(dataA)
{
    #do something
    #no return value
    functionB(dataC)
}

functionB<-function(dataB)
{
    #do something
    #no return value
}

for (i in 1:5)
{
     functionA(list[i])
     print ("message")
}

我遇到的问题是它只评估第一个值,甚至只打印一次“消息”一词。我认为这是因为functionB没有返回到functionA,但这是必要的吗?我的意思是for循环不应该继续评估其他指令。我通过注释行

来尝试代码
functionA(list[i])

在这种情况下,它会打印消息5次。这可能是错的?感谢

1 个答案:

答案 0 :(得分:1)

不,这不是我得到的。

functionA<-function(dataA) {
    #do something
    #no return value
    functionB(dataC)
}

functionB<-function(dataB) {
    #do something
    #no return value
    print("in here")
}

for (i in 1:5) {
    functionA(list[i])
    print ("message")
}

[1] "in here"
[1] "message"
[1] "in here"
[1] "message"
[1] "in here"
[1] "message"
[1] "in here"
[1] "message"
[1] "in here"
[1] "message"