【问题标题】:map months to season in R language用 R 语言将月份映射到季节
【发布时间】:2018-05-09 22:33:23
【问题描述】:

我是 R 编程新手。实际上,我想根据月份绘制季节(如冬季、夏季、季风、季风后)。我试过下面的代码。请指导我。

ifelse((air_quality$Month %in% c('12','01','02','04')),air_quality$Seasons = 'Winter',
ifelse((air_quality$Month %in% c('04','05','06')),air_quality$Seasons = 'Summer',
ifelse((air_quality$Month %in% c('07','08','09')),air_quality$Seasons = 'Monsoon','Post Monsoon')))

提前致谢。 美联社

【问题讨论】:

标签: r


【解决方案1】:

您的示例中的“04”看起来既属于“冬天”又属于“夏天”。 如果我们假设一个月只属于一个季节并且季节是冬季、夏季、季风和后季风,那么您可以将月份转换为季节的方法之一是:

library(stringr) # to produce strings padded with zeros 
air_quality <- data.frame(Month = str_pad(sample(1:12,12, replace=FALSE),
                                          width = 2, 
                                          side = "left", pad="0"))

# Create a mapping vector and print it
( seasons <- c( rep("Winter",2), 
                rep("Summer",3), 
                rep("Monsoon",3), 
                rep("Postmonsoon",3), 
                "Winter") )
#[1] "Winter"      "Winter"      "Summer"      "Summer"      "Summer"      "Monsoon"     "Monsoon"    
#[8] "Monsoon"     "Postmonsoon" "Postmonsoon" "Postmonsoon" "Winter"     

air_quality$Seasons <- seasons[ as.numeric(air_quality$Month) ]
air_quality
#    Month     Seasons
# 1     07     Monsoon
# 2     06     Monsoon
# 3     11 Postmonsoon
# 4     01      Winter
# 5     05      Summer
# 6     09 Postmonsoon
# 7     03      Summer
# 8     08     Monsoon
# 9     10 Postmonsoon
# 10    02      Winter
# 11    04      Summer
# 12    12      Winter

【讨论】:

    猜你喜欢
    • 2021-04-15
    • 1970-01-01
    • 1970-01-01
    • 2021-02-04
    • 1970-01-01
    • 2018-08-11
    • 2012-06-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多