有人可以帮我找到R语言中每分钟x列的平均值

时间:2018-10-02 09:05:15

标签: r

数据看起来像这样。

我期望的输出如下。 x应该是每分钟的平均值。

Expected output

预先感谢

1 个答案:

答案 0 :(得分:0)

这是一个粗略的解决方案,但是您可以使用:

# Packages needed for solution
library(tidyr)
library(dplyr)

# A minimal example of your data
data <- data.frame(time = c("November 3rd 2016, 14:22:37.304", "November 3rd 2016, 14:22:37.352",
                        "November 3rd 2016, 14:32:47.816", "November 3rd 2016, 14:32:50.816",
                        "November 3rd 2016, 15:32:47.816", "November 3rd 2016, 15:32:50.816"),
                    x = c(1,1.5,2,2.5,3,3.5))

# Solution
data %>%
  separate(time, c("month", "day", "year", "hour", 
           "minute", "second", "millisecond")) %>%
  group_by(hour, minute) %>%
  summarise(mean(x))

# Result
# A tibble: 3 x 3
# Groups:   hour [?]
  hour  minute `mean(x)`
  <chr> <chr>      <dbl>
1 14    22          1.25
2 14    32          2.25
3 15    32          3.25

首先,separate通过将杂乱的日期变量拆分成多个组成部分,使其更易于处理(绝对有更好的方法)。 minutes列包含计算分组均值所需的信息。通过结合使用group_by()summarise(),可以计算出每分钟的平均值。

话虽如此,如果您通过提供实际数据而不是屏幕快照来使您的问题可重现,并且还向我们展示您到目前为止为解决问题所进行的尝试,那将是很棒的。