楼主: ludu0712
3628 16

[问答] R语言如何按条件循环? [推广有奖]

11
ludu0712 发表于 2020-4-14 19:16:55
drunkfish69 发表于 2020-4-14 18:35
中文乱码,保存的时候选择UTF编码,再发试试
改好了!

12
drunkfish69 发表于 2020-4-14 19:52:25
  1. library(tidyverse)

  2. data <- read_csv('data2.csv', col_names = TRUE)

  3. date.1 <- c(data$日序[1], data$日序)
  4. period.1 <- c(data$发育期名称[1], data$发育期名称)
  5. date.1 <- date.1[-length(date.1)]
  6. period.1 <- period.1[-length(period.1)]

  7. grow.days <- ifelse(data$日序 - date.1 <0, 1, data$日序 - date.1 + 1)
  8. period <- ifelse(period.1 == data$发育期名称, period.1,
  9.                  paste(period.1, '--', data$发育期名称))

  10. result <- cbind(data, grow.days, period)
  11. write.csv(result, 'result.csv')
复制代码

Archive.zip

6.69 KB

本附件包括:

  • plant.R
  • result.csv

13
drunkfish69 发表于 2020-4-14 19:55:21
  1. library(tidyverse)

  2. data <- read_csv('data2.csv', col_names = TRUE)

  3. date.1 <- c(data$日序[1], data$日序)
  4. period.1 <- c(data$发育期名称[1], data$发育期名称)
  5. date.1 <- date.1[-length(date.1)]
  6. period.1 <- period.1[-length(period.1)]

  7. grow.days <- ifelse(data$日序 - date.1 <0, 1, data$日序 - date.1 + 1)
  8. period <- ifelse(period.1 == data$发育期名称, period.1,
  9.                  paste(period.1, '--', data$发育期名称))

  10. result <- cbind(data, grow.days, period)
  11. write.csv(result, 'result.csv')
复制代码

14
drunkfish69 发表于 2020-4-14 19:57:14
有附件发不出来?审核没通过?
  1.     区站号   年 日序 作物名称 发育期名称 grow.days        period
  2. 1    53690 2002  245   套玉米       乳熟         1          乳熟
  3. 2    53690 2002  270   套玉米       成熟        26  乳熟 -- 成熟
  4. 3    53690 2003  157   套玉米       播种         1  成熟 -- 播种
  5. 4    53690 2003  163   套玉米       出苗         7  播种 -- 出苗
  6. 5    53690 2003  167   套玉米       三叶         5  出苗 -- 三叶
  7. 6    53690 2003  181   套玉米       七叶        15  三叶 -- 七叶
  8. 7    53690 2003  219   套玉米       抽穗        39  七叶 -- 抽穗
  9. 8    53690 2003  246   套玉米       乳熟        28  抽穗 -- 乳熟
  10. 9    53690 2003  280   套玉米       成熟        35  乳熟 -- 成熟
  11. 10   53690 2004  163   套玉米       播种         1  成熟 -- 播种
  12. 11   53690 2004  169   套玉米       出苗         7  播种 -- 出苗
  13. 12   53690 2004  173   套玉米       三叶         5  出苗 -- 三叶
  14. 13   53690 2004  185   套玉米       七叶        13  三叶 -- 七叶
  15. 14   53690 2004  203   套玉米       拔节        19  七叶 -- 拔节
  16. 15   53690 2004  226   套玉米       抽穗        24  拔节 -- 抽穗
  17. 16   53690 2004  255   套玉米       乳熟        30  抽穗 -- 乳熟
  18. 17   53690 2004  284   套玉米       成熟        30  乳熟 -- 成熟
  19. 18   53690 2005  162   套玉米       播种         1  成熟 -- 播种
  20. 19   53690 2005  167   套玉米       出苗         6  播种 -- 出苗
  21. 20   53690 2005  173   套玉米       三叶         7  出苗 -- 三叶
  22. 21   53690 2005  185   套玉米       七叶        13  三叶 -- 七叶
  23. 22   53690 2005  203   套玉米       拔节        19  七叶 -- 拔节
  24. 23   53690 2005  221   套玉米       抽穗        19  拔节 -- 抽穗
  25. 24   53690 2005  252   套玉米       乳熟        32  抽穗 -- 乳熟
  26. 25   53690 2005  276   套玉米       成熟        25  乳熟 -- 成熟
  27. 26   53690 2006  173   套玉米       三叶         1  成熟 -- 三叶
  28. 27   53690 2006  186   套玉米       七叶        14  三叶 -- 七叶
  29. 28   53690 2006  204   套玉米       拔节        19  七叶 -- 拔节
  30. 29   53690 2006  222   套玉米       抽穗        19  拔节 -- 抽穗
复制代码

15
ludu0712 发表于 2020-4-14 20:18:08
drunkfish69 发表于 2020-4-14 19:57
有附件发不出来?审核没通过?
非常感谢!帮大忙啦!

16
drunkfish69 发表于 2020-4-15 07:34:54
ludu0712 发表于 2020-4-14 20:18
非常感谢!帮大忙啦!
如果‘发育期名称’是固定的,且顺序也是固定的。可以考虑编码,这样就可以避免‘区站号’或‘年份’变化时,出现‘成熟 -- 播种’的情况。

17
ludu0712 发表于 2020-4-15 09:14:48
drunkfish69 发表于 2020-4-15 07:34
如果‘发育期名称’是固定的,且顺序也是固定的。可以考虑编码,这样就可以避免‘区站号’或‘年份’变化 ...
好的,学到了很多,非常感谢!

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-3-1 03:51