我有一个数据框:
$Date, $name, $value
1949-05-01, Hurricane, 5
1950-02-01, Hurricane, 6
1950-03-01,
1950-04-01,
1950-05-01,
1951-02-01,
1951-03-01,
1951-04-01,
这些日期一直持续到2015年,分别是02、03、04和05月份。我正在尝试创建一个数据框或该数据的子集,该数据框仅包含4月(04)的行。我尝试了一些代码,例如
aprilSWE <- hurricane.df[grep("^04", hurricane.df$Date),]
但是我不确定我^
是否使用正确。由于月份“ 04”位于日期字符串的中间,我如何使用通配符选择月份中具有“ 04”的任何行作为日期?
谢谢!
您不应该为此使用字符串处理。使用Date
类:
DF <- read.table(text = "Date, name, value
1949-05-01, Hurricane, 5
1950-02-01, Hurricane, 6
1950-03-01, Hurricane, 7
1950-04-01, Hurricane, 8
1950-05-01, Hurricane, 9
1951-02-01, Hurricane, 10
1951-03-01, Hurricane, 11
1951-04-01, Hurricane, 12", header = TRUE, sep =",")
DF$Date <- as.Date(DF$Date)
DF[months(DF$Date) == "April",]
# Date name value
#4 1950-04-01 Hurricane 8
#8 1951-04-01 Hurricane 12
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句