【问题标题】:Extract daily maximum and minimum values提取每日最大值和最小值
【发布时间】:2014-10-17 06:51:31
【问题描述】:

使用一个月内每日温度读数的大型数据集,我试图从 7 个不同的记录器中提取每日最高和最低温度。

数据包含 7 个不同温度记录器在 31 天内的 24 小时读数(每小时记录 1 个温度)。

数据集如下所示:

Tort    date    time    ibutton.temp
ABD 01/03/12    00:05:01    28.622
ABD 01/03/12    01:05:01    28.122
ABD 01/03/12    02:05:01    28.122
ABD 01/03/12    03:05:01    28.122
ABD 01/03/12    04:05:01    28.122
ABD 01/03/12    05:05:01    27.622
ABD 01/03/12    06:05:01    27.123
.
.
.
.
.
BCY 01/03/12  00:05:01      27.289
BCY 01/03/12  01:05:01      27.485

有没有功能可以提取整个月每天的最高和最低温度(即24个温度读数)?

感谢任何提醒。

【问题讨论】:

    标签: r date max min temperature


    【解决方案1】:

    或者使用data.table(如果dat是数据)

      library(data.table)
      setDT(dat)[, list(Max=max(ibutton.temp), Min=min(ibutton.temp)), by=list(Tort, date)]
      #  Tort     date    Max    Min
     #1:  ABD 01/03/12 28.622 27.123
     #2:  BCY 01/03/12 27.485 27.289
    

    【讨论】:

      【解决方案2】:

      你可以在前两列使用aggregate

      > aggregate(dat$ibutton.temp, dat[1:2], function(x) {
            c(max = max(x), min = min(x)) })
      #   Tort     date  x.max  x.min
      # 1  ABD 01/03/12 28.622 27.123
      # 2  BCY 01/03/12 27.485 27.289
      

      或来自包doBysummaryBy

      > library(doBy)
      > summaryBy(ibutton.temp~Tort+date, dat, FUN = c(max, min))
      #   Tort     date ibutton.temp.max ibutton.temp.min
      # 1  ABD 01/03/12           28.622           27.123
      # 2  BCY 01/03/12           27.485           27.289
      

      在哪里

      > dat <- read.table(h=T, text = "Tort    date    time    ibutton.temp
        ABD 01/03/12    00:05:01    28.622
        ABD 01/03/12    01:05:01    28.122
        ABD 01/03/12    02:05:01    28.122
        ABD 01/03/12    03:05:01    28.122
        ABD 01/03/12    04:05:01    28.122
        ABD 01/03/12    05:05:01    27.622
        ABD 01/03/12    06:05:01    27.123
        BCY 01/03/12  00:05:01      27.289
        BCY 01/03/12  01:05:01      27.485")
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-05-18
        • 2021-06-20
        • 2015-07-04
        • 1970-01-01
        • 2015-01-09
        相关资源
        最近更新 更多