【问题标题】:How to average correct data: Temperature - Average Temperature per day and station如何平均正确的数据:温度 - 每天和站点的平均温度
【发布时间】:2023-01-27 22:37:10
【问题描述】:

我必须将日平均温度减去白天的每个温度值,同时考虑到它来自的站点,以及 9 个月。我已经有了平均值,我的数据是这样的:

 >>> df1
   Station     Date                Temperature
0  Station1    2022-05-1 9:30:00   7,4
1  Station1    2022-05-1 9:45:00   7,45
2  Station1    2022-05-1 10:00:00  8,2
3  Station1    2022-05-1 10:15:00  8,4
4  Station1    2022-05-1 10:30:00  8,9
5  Station1    2022-05-1 9:30:00   7,5
6  Station2    2022-05-1 9:45:00   7,56
7  Station2    2022-05-1 10:00:00  8,4
8  Station2    2022-05-1 10:15:00  8,7
9  Station2    2022-05-1 10:30:00  8,1
10 ...

>>> df2
   Station     Date        AverageTemperaturePerDayAndStation
0  Station1    2022-05-1   8
1  Station1    2022-05-2   8,3
2  Station1    2022-05-3   8,6
3  Station1    2022-05-4   8,4
4  Station1    2022-05-5   7,9
5  Station2    2022-05-1   6
6  Station2    2022-05-2   7,3
7  Station2    2022-05-3   8,6
8  Station2    2022-05-4   7,4
9  Station2    2022-05-5   6,9
10 ...

所以我希望 R 像这样减去 Temperature - AverageTemperaturePerDayAndStation:

>>> df3
   Station     Date                CorrectedTemperature 
0  Station1    2022-05-1 9:30:00   7,4  - 8
1  Station1    2022-05-1 9:45:00   7,45 - 8
2  Station1    2022-05-1 10:00:00  8,2  - 8
3  Station1    2022-05-1 10:15:00  8,4  - 8
4  Station1    2022-05-1 10:30:00  8,9  - 8
5  Station1    2022-05-1 9:30:00   7,5  - 8
6  Station2    2022-05-1 9:45:00   7,56 - 6
7  Station2    2022-05-1 10:00:00  8,4  - 6
8  Station2    2022-05-1 10:15:00  8,7  - 6
9  Station2    2022-05-1 10:30:00  8,1  - 6
10 ...

【问题讨论】:

  • 你试过什么了?

标签: r subtraction


【解决方案1】:

首先,我建议您更改第一个数据框,以便将日期和时间分成两列。然后应该可以根据站和日期列合并两个数据框。

df1$Time <- format(df1$Date,"%H:%M:%S")
df1$Date <- as.Date(df1$Date)

df3 <- dplyr::left_join(df1, df2, by =c("Date","Station")

然后,您可以计算新列 Corrected Temperature。

df3$CorrectedTemperature <- df3$Temperature - df3$AverageTemperaturePerDayAndStation

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-22
    • 2018-01-11
    • 2017-03-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多