【问题标题】:DateTime to Days in R and finding an average [duplicate]R中的日期时间到天数并找到平均值[重复]
【发布时间】:2019-07-17 16:43:28
【问题描述】:

所以我试图找到一天的平均温度。数据的头部如下。所以我试图找到每个星期一、星期二、……和星期日的平均温度。我应该使用什么样的函数来对所有日期进行分组并找到它的平均温度?

Date
<fctr>
AvgTemp
<dbl>

1   01/01/2013  20.72222        
2   01/02/2013  19.05556        
3   01/03/2013  23.05556        
4   01/04/2013  23.88889        
5   01/05/2013  28.38889        
6   01/06/2013  29.00000    

【问题讨论】:

    标签: r date dplyr


    【解决方案1】:

    我们可以使用lubridate 包中的wday 函数来获取每个日期的星期几。在此之前,每个日期都应该在date 类中,我们可以使用lubridate 中的dmy 函数来做到这一点。

    library(dplyr)
    library(lubridate)
    
    dat2 <- dat %>%
      mutate(Date = dmy(Date)) %>%
      mutate(WeekDay = wday(Date)) %>%
      group_by(WeekDay) %>%
      summarize(AvgTemp = mean(AvgTemp)) %>%
      ungroup()
    dat2
    # # A tibble: 5 x 2
    #   WeekDay AvgTemp
    #     <dbl>   <dbl>
    # 1       2    23.9
    # 2       3    20.7
    # 3       4    28.4
    # 4       6    21.1
    # 5       7    29  
    

    数据

    dat <- read.table(text = " Date AvgTemp
    1   01/01/2013  20.72222        
    2   01/02/2013  19.05556        
    3   01/03/2013  23.05556        
    4   01/04/2013  23.88889        
    5   01/05/2013  28.38889        
    6   01/06/2013  29.00000",
                      header = TRUE, stringsAsFactors = FALSE)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-09-22
      • 1970-01-01
      • 2018-12-02
      • 2018-08-13
      • 2016-10-20
      • 1970-01-01
      • 2016-06-27
      相关资源
      最近更新 更多