【问题标题】:Is there an R function that will pull the day of year from POSIXct? [duplicate]是否有一个 R 函数可以从 POSIXct 中提取日期? [复制]
【发布时间】:2020-06-03 00:18:09
【问题描述】:

我有一个大致如下所示的数据表:

Date_Time               Water_Level        Date
6-28-2019 15:00:00         184             6-28-2019
6-28-2019 15:15:00         186             6-28-2019
6-28-2019 15:30:00         180             6-28-2019
6-29-2019 10:15:00         179             6-29-2019
6-29-2019 10:30:00         188             6-29-2019
6-29-2019 10:45:00         190             6-29-2019

我希望能够使用聚合函数来查找整个数据集的每日平均水位,因此它看起来像这样:

Date_Time       Water_Level
6-28-2019          183.3
6-29-2019          185.6

我使用了以下代码,但由于某种原因,它只聚合了部分数据,而不是全部数据。如果我将 Date_Time 列切换为 Date 列(下面的第二个代码),它可以完成这项工作,但是日期不正确,导致我需要运行一行来重新排序它们......

LSUP1<-aggregate(Water_Level_m~Date_Time, LSUP, mean)
LSUP1<-LSUP1[order(as.Date(LSUP1$Date, format="%m/%d/%Y")),]

我在从 Date_Time 列的 POSIXct 格式中提取“一年中的某一天”(DOY) 时也遇到了一些问题。我根据 DOY 汇总了一些类似的数据,并且效果很好……

任何建议都会很可爱,即使它是不同的功能。

【问题讨论】:

    标签: r aggregate posixct


    【解决方案1】:

    当然:

    R> now
    [1] "2020-02-18 15:58:10.226131 CST"
    R> class(now)
    [1] "POSIXct" "POSIXt" 
    R> unclass(as.POSIXlt(now))
    $sec
    [1] 10.2261
    
    $min
    [1] 58
    
    $hour
    [1] 15
    
    $mday
    [1] 18
    
    $mon
    [1] 1
    
    $year
    [1] 120
    
    $wday
    [1] 2
    
    $yday
    [1] 48
    
    $isdst
    [1] 0
    
    $zone
    [1] "CST"
    
    $gmtoff
    [1] -21600
    
    attr(,"tzone")
    [1] "America/Chicago" "CST"             "CDT"            
    R> 
    

    不过,首选方法是通过标准时间格式化程序函数。一年中的某一天是%jhelp(sptrftime)

    R> format(now, "%j")
    [1] "049"
    R> 
    

    这些函数都是向量化的,很容易调用as.integer()或在它们上面作为数字:

    R> as.integer(format(as.Date(now) + cumsum(runif(5)*20), "%j"))
    [1] 61 65 84 96 99
    R> 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-06
      • 2021-11-17
      • 2022-01-19
      • 2013-05-09
      相关资源
      最近更新 更多