|||
例子:
原始数据:
植株编号 | 始花期 (日期格式) | 终花期 (日期格式) | 始花期 (Excel常规格式) | 终花期 (Excel常规格式) | |
1 | 2016/1/1 | 2016/1/3 | 42370 | 42372 | |
Pop1 | 2 | 2016/1/5 | 2016/1/7 | 42374 | 42376 |
Pop1 | 3 | 2016/1/9 | 2016/1/11 | 42378 | 42380 |
Pop1 | 4 | 2016/1/13 | 2016/1/15 | 42382 | 42384 |
Pop1 | 5 | 2016/1/17 | 2016/1/19 | 42386 | 42388 |
Pop1 | 6 | 2016/1/4 |
| 42373 |
|
Pop2 | 1 | 2016/1/9 | 2016/1/13 | 42378 | 42382 |
Pop2 | 2 | 2016/1/10 | 2016/1/11 | 42379 | 42380 |
Pop2 | 3 | 2016/1/11 | 2016/1/20 | 42380 | 42389 |
Pop2 | 4 | 2016/1/7 | 2016/1/13 | 42376 | 42382 |
Pop2 | 5 | 2016/1/13 | 2016/1/21 | 42382 | 42390 |
Pop2 | 6 |
| 2016/1/13 |
| 42382 |
Pop3 | 1 | 2016/1/20 | 2016/2/5 | 42389 | 42405 |
Pop3 | 2 | 2016/1/20 | 2016/2/5 | 42389 | 42405 |
Pop3 | 3 | 2016/1/20 | 2016/2/5 | 42389 | 42405 |
Pop3 | 4 | 2016/1/20 | 2016/2/5 | 42389 | 42405 |
Pop3 | 5 | 2016/1/20 | 2016/2/5 | 42389 | 42405 |
Pop3 | 6 |
|
|
|
|
R运算前后数据的转换效果:
(A)转换前 | (B)转换后 |
转换方法:
首先,在excel中将“日期”格式的原始修改为“常规”格式,然后根据下表中的计算方法进行数据转化。
D0=read.csv("C:/Users/admin/Desktop/data.csv");D0 #导入数据 D=na.omit(D0); D #删除具有缺失值的行 #准备基本的参数 n=length(D[,1]);n #确定行数 m1=min(D[,3:4]);m1 #找到数据中第一朵花开放的时间 m2=max(D[,3:4]);m2 #找到数据中最后一朵花凋落2的时间 m=m2-m1+1;m #确定总的花期 RR=matrix(m1:m2,n,m,byrow=TRUE) #设置无效矩阵,即参数dd的整体框架 colnames(RR)=m1:m2 #将常规格式的值作为列名称 #利用循环语句填充参数dd的数据,如果当有花朵盛开用1表示,无花朵则用0表示 for (i in 1:n) { for (j in 1:m) { if((RR[i,j]>=D[i,3])&(RR[i,j]<=D[i,4])) RR[i,j]=1 else RR[i,j]=0 end } } ##得到计算所需的三个主要参数dd、pop和ind dd=RR pop=D$pop ind=D$ind
|
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-5-12 17:48
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社