我是R语言的新手,我试图避免在我的程序中使用循环,所以我使用sapply()或ifelse(),但我遇到了一些问题。这是我的程序,
rowNum <- 1
txn$'ACCT_NUM' <- sapply(c(1:nrow(txn)), function(x) if(txn$'ACCT_ID'[x]==MKAccts$'ACCT_ID'[rowNum]){
return(MKAccts$'ACCT_NUM'[rowNum])
}else{
rowNum <- rowNum +1
print(rowNum)
return(MKAccts$'ACCT_NUM'[rowNum])
})
我发现每次在sapply()函数中,当它调用rowNum时,它将再次设置为1,我认为这可能是由于它被调用的原因, sapply()中的函数实际上并没有反映出函数的值,但是无论如何通过使用sapply()或ifelse()实现这一点? 谢谢!