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" )
我有一个大型数据集,我目前正在尝试根据冬季(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" )