全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
3612 16
2020-04-13
图片是我现在有这样的数据,需要计算出各站点各年某生育期的长度(下一个生育期的日序-上一个的日序+1)并输出,
比如用409和410两行数据,可以计算出区站号56651出苗期到三叶期的长度,日序140-128+1=13
要求输出成这样:

区站号        年                生育期长度                发育期名称
56651        2009                13                       出苗-三叶
52546        2003                25                       播种-出苗
52546        2004                24                       播种-出苗


请问这种循环应该怎么写?既要把第一列区站号提取出来循环,又要在单一区站号的基础上按照年份和发育期名称循环。

向各位大神求教!
附件列表
屏幕截图(103).png

原图尺寸 51.85 KB

屏幕截图(103).png

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2020-4-13 17:22:57
其实不用循环,我觉得有一招可以哈,你不就是想做后一项-前一项+1么,复制“日序”这列,在excel里新增一列,把日序这列的第一个元素(128)删除,第二个元素作为第一个元素,就是140,160,197...,因为少一个元素,最有一个随便补一个就行,然后直接两列相减,最后+1。你要是在R里处理也可以,一样的思路
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2020-4-13 20:31:26
dplyr包了解一下。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2020-4-13 20:34:22
如果是单纯的条件循环可以用for循环套if函数
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2020-4-14 08:44:12
复制代码

试试这样能满足要求吗?
发育期名称变成编号也可以这样处理,字符的话转变区域时比较不了
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2020-4-14 15:23:50
jalonso 发表于 2020-4-13 17:22
其实不用循环,我觉得有一招可以哈,你不就是想做后一项-前一项+1么,复制“日序”这列,在excel里新增一列 ...
哈哈哈谢谢啦,因为一直没怎么用过循环想试试能不能用循环做,这种方法也很好呀
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群