ifelse 尝试从 Month 列创建条件列

ifelse trying to create conditional column from Month column

我有一个大型数据集,我目前正在尝试根据冬季(9 月 - 3 月)或夏季(4 月 - 8 月)的月份创建一个列。我遇到的大多数事情都是为了帮助拆分,想要拆分成 4 个季节,对于我的数据,我需要它根据月份专门分为这两个季节。我在

中有一个 Day 列

"%m/%d/%Y"

所以我创建了一个只有月份的列

TAD_rawdata$Month <- format(as.Date(TAD_rawdata$Day), "%m")

这给了我一个字符串,其中月份为“01”-“12”

所以我尝试使用 ifelse 语句来创建我的季节列:

TAD_rawdata$Season <- ifelse (TAD_rawdata$Month == c("04", "05", "06", "07", "08"), "SUMMER", "WINTER" )

但它给了我这个错误

警告信息: 在 TAD_rawdata$Month == c("04", "05", "06", "07", "08") 中: 较长的对象长度不是较短对象长度的倍数

然后它似乎只是随机分配冬季或夏季,例如月份为 4(所以应该是夏季)但它会同时分配夏季和冬季....

请帮忙 :) 谢谢

尝试 %in% 而不是 ==

TAD_rawdata$Season <- ifelse (TAD_rawdata$Month %in% c("04", "05", "06", "07", "08"), "SUMMER", "WINTER" )