我有相当大的气象数据集,看起来像:
year month day hour min sec temp RH Rad
我需要将这一天转换为一年中的连续一天,例如:
- 1 月 1 日是第 0 天
- 2 月 1 日是第 31 天
- 3 月 1 日是第 59 天(非闰年)
- 4月1日是90,等等。
数据存储在数据框中,例如, met_dat
等。met_dat$year
met_dat$day
我想根据月份分配 yd,即
if met_dat$month==0, /*this is the code for january*/
then
met_dat$yd<-met_dat$day,
else if met_dat$month==1, /*this is the code for february*/
then
met_dat$yd<-met_dat$day+30
else if met_dat$month==2,
then
met_dat$yd<-met_dat$day+58
etc, for the remaining months.
我尝试将 ifelse 语句嵌套为:
met_dat$yd<-ifelse( (met_dat$month==0),met_dat$yd<-met_dat$day,
(ifelse( (met_dat$month==1), met_dat$yd<-met_dat$day+30,
(ifelse( (met_dat$month==2), met_dat$yd<-met_dat$day+58, NA) )))
我的真实代码有 12 个月,但是 12 或 3 个月,这不起作用......它为met_dat$yd 分配了不正确的值,有时接近正确,但在所有月份都不会正确。
有什么建议么?