小编m_r*_*rub的帖子

根据变量内字符串的数值对数据框进行分组

我有一个数据框,该数据框是1961年至2018年间每月分辨率的气象测量的时间序列。我对测量月平均温度的变量感兴趣,因为我需要夏季的多年平均温度。

为此,我必须从“ DateVaraible”列中过滤出第五和第六位数字,即月份。时间列中的值的格式如下:“ 19610701”。所以我需要1961年以后的07(Juli)。

我开始为其他目的编码1个月,所以我没有尝试任何值得一提的事情。我猜.grepl可以完成这项工作,但是我不知道“匹配”运算符的工作方式。

因此,我从这个有效的代码开始。

summersmonth<- Df[DateVariable %like% "19610101" I DateVariable %like% "19610201"]
Run Code Online (Sandbox Code Playgroud)

我期待这样的代码

summermonths <- Df[DateVariable %like% "**06**" I DateVariable%like% "**07**..]
Run Code Online (Sandbox Code Playgroud)

这样,所有月份数字从06到09的条目都将保存在新的数据框summermonths中。

在此先感谢您对我的问题的任何答复或反馈。

更新资料

感谢您的回答,我得到了第一部分,这是将变量转换为as.date格式为“ month”(Class = char)的a现在,我需要选择Juni到September的月份。一个可怕的方式来获得我想要的结果是做一些subsetrbind之后。

Sommer1<-subset(Df, MonthVar == "Mai")
Sommer2<-subset(Df, MonthVar == "Juli")
Sommer3<-subset(Df, MonthVar == "September")

SummerTotal<-rbind(Sommer1,Sommer2,Sommer3)
Run Code Online (Sandbox Code Playgroud)

我很高兴看到这篇文章写得整整齐齐。

更新2-解决方案

这是整齐的方法,例如在子集函数和逻辑运算符中使用多个条件

Veg_Seas<-subset(Df, subset = MonthVar %in% c("Mai","Juni","Juli","August","September"))
Run Code Online (Sandbox Code Playgroud)

r time-series subset dataframe as.date

-1
推荐指数
1
解决办法
70
查看次数

标签 统计

as.date ×1

dataframe ×1

r ×1

subset ×1

time-series ×1