我有一个数据框,描述了基于月份和年份在不同地点观察鸟类的情况。它看起来像这样:
COMMON.NAME OBSERVATION.COUNT LOCALITY Month Year
Bushtit 1 Vancouver Jan 2000
Lapland Longspur 1 Vancouver - general area Jan 2000
Mew Gull 1 Vancouver Jan 2000
American Coot 4 Maplewood 00 Jan 2000
American Coot 2 Maplewood 00 Jan 2000
American Coot 1 Iona Island (general) Jan 2000
我正在尝试在数据框中创建另一个名为“Season”的列,该列对Jan,Feb,Mar的月份进行分组,并将其称为Winter,并将10月,11月,12月的月份分组为秋季。这是我写的代码:
metrobirds$Season<-ifelse(metrobirds$Month==c("Jan","Feb","Mar"),"Winter","Fall")
但是,当我查看数据框时,R未正确地将数据分组到新列中。例如,Jan,Feb或Mar中的许多行表示为Fall,有些正确表示为Winter。我的代码出了什么问题?有任何建议来纠正这个错误?
当我将csv文件读入R时,我将被识别为因子的列转换为字符(例如,通用名称,月份和地点),因此这些列应该被读作字符。
感谢您的帮助!
答案 0 :(得分:1)
尝试使用%in%
,
metrobirds$Season<-ifelse(metrobirds$Month %in% c("Jan","Feb","Mar"),"Winter","Fall")