根据不同列(R)的值汇总数据

时间:2018-10-18 02:50:42

标签: r

我每个月都有每分钟七个变量(例如DW_20)的数据。我想知道每天每个变量的平均值(9/1 / 18、9 / 2/18等)。我正在尝试使用dplyr摘要,但仅收到返回的错误消息。我认为这一定很容易,但是我无法弄清楚!

原始数据(前7行)

   Date   DW_20  DW_24A  DW_25A DW_26A DW_27A   DW_28  DW_29
9/1/18 0:00  995.88 1110.62 1229.14  -0.09   4.50 1100.95 913.33
9/1/18 0:01 1002.43 1115.85 1231.59  -0.09   4.50 1107.63 909.06
9/1/18 0:02 1007.01 1123.39 1236.75  -0.09   4.51 1108.37 935.00
9/1/18 0:03 1007.17 1121.69 1234.58  -0.09   4.52 1105.64 901.35
9/1/18 0:04 1005.27 1122.86 1233.25  -0.09   4.53 1107.56 911.15
9/1/18 0:05 1001.37 1116.39 1229.89  -0.09   4.54 1103.66 937.93
9/1/18 0:06  997.42 1112.40 1229.71  -0.09   4.55 1102.46 920.39

为测量日期添加列的代码

    #Load Data
data <- read.csv("Sep_2018_Well_Flows.csv", header=T)

#Create column of measurement day
data$Pump_Day <- format(as.Date(data$Date, format="%m/%d/%Y"), "%d")
y <- data$Pump_Day
data$Pump_Day <- as.factor(y)

1 个答案:

答案 0 :(得分:0)

如果要按每个“天”分组,则将“日期”转换为Date类,除去时间部分,然后使用summarise_all获得mean

library(dplyr)
data %>%
    group_by(Day = as.Date(Date, "%m/%d/%y")) %>%
    # or use `mdy` from `lubridate`
    # group_by(Day = mdy(Date)) %>%
    summarise_all(mean)