我的代碼中被設定爲R如下:修改數據集功能,但數據集不改變
replaceNA<- function(myData,limit){
numNA<- rowsum(is.na(myData))
targetRows<- which(numNA<=limit)
targetCols<- length(names(myData))
for(row in targetRows){
for(col in 1:targetCols){
myData[row,col][is.na(myData[row,col])]<-1
}
}
}
我試圖通過myData的每個元素進行迭代,並用1 IF更換排所有NAS該行不會超過NAs的數量。我用打印語句測試了我的代碼,發現迭代完美工作(儘管不是最有效的代碼),如果我通過在函數的最後一個括號之前放入修復(myData)來檢查修改的myData,我會看到我的函數完美工作(對於符合限制條件的行,NAs將替換爲1)。但是,當我在函數終止後檢查myData時,myData不會顯示replaceNA所做的更改。
我知道存儲修改後的myData存在問題,但我不確定如何正確存儲它。
函數就像是拉斯維加斯。函數中的函數_stays_會發生什麼(除非您明確地返回它)。 – joran
另外,這裏是什麼?它是一個用戶定義的函數嗎? – agstudy
rowsum()存在於R中:http://stat.ethz.ch/R-manual/R-patched/library/base/html/rowsum.html –