作者aee36900 (持久戰!!)
看板R_Language
標題[問題] DATA FRAME 迴圈資料處裡
時間Tue Sep 22 11:47:25 2015
[問題類型]:
程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來)
[軟體熟悉度]:
新手(沒寫過程式,R 是我的第一次)
[問題敘述]:
請簡略描述你所要做的事情,或是這個程式的目的
要處理data fram裡面的資料
例子如下
no value no value
1 18 1 18
2 0 2 9 (18+0)/2
3 0 ----> 3 4.5 (9+0)/2
4 0 4 12.25 (4.5+20)/2
5 20 5 20
遇到0值時 則拿前一筆與後一筆平均 填入,依序往下處理
請問這樣的for迴圈該如何表示?
[環境敘述]:
R version 3.1.3 (2015-03-09)
Platform: x86_64-redhat-linux-gnu (64-bit)
Running under: CentOS release 6.5 (Final)
[關鍵字]:data frame, for迴圈
--
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 211.76.246.58
※ 文章網址: https://webptt.com/m.aspx?n=bbs/R_Language/M.1442893648.A.440.html
※ 編輯: aee36900 (211.76.246.58), 09/22/2015 11:48:00
感謝 c大提醒
最後參考文章簡單寫個迴圈解決我的需求了
if (x[1]==0)
x[1] <- (x[2])/2
if (x[length(x)]==0)
x[length(x)] <- (x[length(x)-1])/2
for (i in 2:(length(x)-1))
if(x[i]==0)
x[i] <- (x[i-1]+x[i+1])/2
(看起來有點遜的感覺@@)
※ 編輯: aee36900 (211.76.246.58), 09/22/2015 16:19:34
3F:→ andrew43: 頂多比較慢,哪裡遜?能解決問題最重要。 09/22 16:57
4F:推 celestialgod: 樓上說的沒錯XD 09/22 17:02