0
編寫一個函數,我遇到了一個錯誤,我意識到這個錯誤是來自一個變量,在我爲它分配了一個新值之後保留了它的舊值。導致錯誤的原始代碼如下所示。 num是一個函數參數替換R中的變量/參數值
if (num == "best")
{ num <- as.numeric(1) }
錯誤代碼後出現是因爲num的值沒有被更改爲1。當我改變了代碼以下,錯誤就走開了。
if (num == "best")
{ rank <- as.numeric(1) }
指定新的值我想在代碼中稍後使用的新變量修復了這個問題。這是怎麼回事?我敢肯定,我之前已經替換了一個變量的值,而沒有這個問題......在這種情況下,R中是否存在不一致的行爲? num是這個代碼存在於函數中的函數的參數嗎?
你能提供一個有效的例子嗎?我使用了'test < - function(num){if(num ==「best」){num < - as.numeric(1)}; out < - ifelse(num == 1,「是」,「否」);退(出)}'並沒有問題。 –
您的代碼中可能還有別的東西在進行着,您並不知道。調試是關於**確認(不)預期的行爲**。請提供一個可重現的例子。 –