【问题标题】:R: Adding columns / manipulating a data frameR:添加列/操作数据框
【发布时间】:2020-07-22 06:07:37
【问题描述】:

我试图通过将 月份 列(变量 1-12)分为四组来对数据集进行分类。冬季(1-3)、春季(4-6)、夏季(7-9)和秋季(10-12)。我想添加一个新列,它将每个条目捐赠给一个季节性组。

> head(weather_grouped)
# A tibble: 6 x 8
  Name       Province      Region `Date/Time` **Month**  Year `Mean Temp` year_range

基本上我希望根据月份列中的数字添加另一个标题为“季节”的列

【问题讨论】:

  • 了解您的需求,但您的问题是什么?你有没有试着做最后一句话?
  • 试试weather_grouped$season <- rep(c("Winter","Spring","Summer", "Fall"), each = 3)[weather_grouped$month]

标签: r


【解决方案1】:

您可能希望按如下方式使用cut 函数:

   library(dplyr)
   weather_grouped %>% 
          mutate(season = cut(Month, breaks = c(-Inf,3,6,9,Inf), labels = c("Winter","Spring","Summer", "Fall"))

【讨论】:

    【解决方案2】:

    另一种方法是使用case_when 函数:

        weather_grouped %>% mutate(season = case_when(Month <= 3  ~ "Winter",
                                                      Month <= 6  ~ "Spring",
                                                      Month <= 9  ~ "Summer",
                                                      Month <= 12 ~ "Winter",
                                                      TRUE        ~ "Unknown Season")
    

    【讨论】:

      猜你喜欢
      • 2021-06-28
      • 2021-06-28
      • 2015-09-19
      • 1970-01-01
      • 2021-06-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-02
      相关资源
      最近更新 更多