作者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/cn.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