将R中的天数转换为天数并求平均值

时间:2019-02-23 21:47:35

标签: r date dplyr

因此,我尝试按天查找平均温度。数据的标题在下面。因此,我试图查找每个星期一,星期二,...和星期日的平均温度。我应该使用哪种功能对所有日期进行分组并找到其平均温度?

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    

1 个答案:

答案 0 :(得分:0)

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

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)