如何计算 R 中文本文件每 15 行的平均值?

问题描述 投票:0回答:0

我有一个包含超过 4000 行和 19 列的文本文件(每分钟数据)。文件结构如下:

Date  Time AirTemp  Pres  Wind ....
2021-03-01 00:00:00 27  1017  10....
2021-03-01 00:01:00.....

我想计算所有列的每 15 行的平均值(例如,第 1 到 15 行的平均值,然后是第 16-30 行的平均值,依此类推......)。我想将其保存在 .csv 文件中。我在 R 中使用了以下代码来计算所有列的 15 行平均值。

library(dplyr)

df %>%
 group_by(group = as.integer(gl(n(), 15, n()))) %>%
 summarise_all(funs(mean))

它运行成功但它给了我以下警告:

Warning messages:
1: `funs()` was deprecated in dplyr 0.8.0.
ℹ Please use a list of either functions or lambdas:

# Simple named list: list(mean = mean, median = median)
# Auto named with `tibble::lst()`: tibble::lst(mean, median)
# Using lambdas list(~ mean(., trim = .2), ~ median(., na.rm = TRUE))
Call `lifecycle::last_lifecycle_warnings()` to see where this warning was generated. 
2: There were 2976 warnings in `summarise()`.
The first warning was:
ℹ In argument: `Date/Time = mean(`Date/Time`)`.
ℹ In group 1: `group = 1`.
Caused by warning in `mean.default()`:
! argument is not numeric or logical: returning NA
ℹ Run dplyr::last_dplyr_warnings() to see the 2975 remaining warnings.

由于我是 R 的新手,我想了解警告中提到

funs()
在 dplyr 0.8.0 中已被弃用,我以后可以不使用它吗?

其次,根据警告,计算所有列的每 15 行平均值并将其保存在 csv 中的替代方法是什么?谢谢。

dput(df)的输出如下:

structure(list(`Date/Time` = c("2021-03-01T00:00:00", "2021-03- 
01T00:01:00", 
"2021-03-01T00:02:00", "2021-03-01T00:03:00", "2021-03-01T00:04:00", 
"2021-03-01T00:05:00", "2021-03-01T00:06:00", "2021-03-01T00:07:00", 
"2021-03-01T00:08:00", "2021-03-01T00:09:00", "2021-03-01T00:10:00", 
"2021-03-01T00:11:00", "2021-03-01T00:12:00", "2021-03-01T00:13:00", 
"2021-03-01T00:14:00", "2021-03-01T00:15:00", "2021-03-01T00:16:00", 
"2021-03-01T00:17:00", "2021-03-01T00:18:00", "2021-03-01T00:19:00", 
"2021-03-01T00:20:00", "2021-03-01T00:21:00", "2021-03-01T00:22:00", 
"2021-03-01T00:23:00", "2021-03-01T00:24:00", "2021-03-01T00:25:00", 
"2021-03-01T00:26:00", "2021-03-01T00:27:00", "2021-03-01T00:28:00", 
"2021-03-01T00:29:00", "2021-03-01T00:30:00"), `AU [AU]` = c(0.990641, 
0.990641, 0.990641, 0.990641, 0.990641, 0.990641, 0.990641, 0.990641, 
0.990641, 0.990641, 0.990641, 0.990641, 0.990641, 0.990641, 0.990641, 
0.990641, 0.990641, 0.990641, 0.990641, 0.990641, 0.990641, 0.990641, 
0.990641, 0.990641, 0.990641, 0.990641, 0.990641, 0.990641, 0.990641, 
0.990641, 0.990641), `AirTemp` = c(27, 27, 27, 25, 
25, 25, 25, 25, 26, 26, 26, 26, 26, 26, 26, 
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 
28, 26, 27, 27, 28), Pres = c(1017,.....
r dplyr mean txt
© www.soinside.com 2019 - 2024. All rights reserved.