R 删除不完整的天数/保留完整的天数

R 删除不完整的天数/保留完整的天数,r,dataframe,R,Dataframe,我有一个来自现场仪器的数据,其中每15分钟测量并记录7个不同参数的值。该数据集可扩展多年。有时仪器出现故障或离线进行预防性维护,记录中的天数不完整。在对数据进行后处理时,我希望删除那些不完整的天数(或者,也可以说,只保留完整的天数) 数据可能是什么样子的一个简短示例: Date Temp 2012-02-01 00:01:00 18.5 2012-02-01 00:16:00 18.4 2012-02-01 00:31:00 18.6 . .

我有一个来自现场仪器的数据,其中每15分钟测量并记录7个不同参数的值。该数据集可扩展多年。有时仪器出现故障或离线进行预防性维护,记录中的天数不完整。在对数据进行后处理时,我希望删除那些不完整的天数(或者,也可以说,只保留完整的天数)

数据可能是什么样子的一个简短示例:

Date                   Temp
2012-02-01 00:01:00    18.5
2012-02-01 00:16:00    18.4
2012-02-01 00:31:00    18.6
.
.
.
2012-02-01 23:31:00    19.0
2012-02-01 23:46:00    18.9
2012-02-02 00:01:00    19.0
2012-02-02 00:16:00    19.0
2012-02-03 00:01:00    17.0
2012-02-03 00:16:00    17.1
2012-02-03 00:31:00    17.0
.
.
.
2012-02-03 23:31:00    18.0
2012-02-03 23:46:00    18.2
因此
2012-02-01
2012-02-03
是完整的一天,我想删除
2012-02-02
,因为这是一个不完整的一天

  • 将日期转换为天
  • 计算每天的观察次数
  • 仅保留观察次数最多的天数
  • 代码

    library(dplyr)
    library(lubridate)
    dataset %>%
       mutate(Day = floor_date(Date, unit = "day")) %>%
       group_by(Day) %>%
       mutate(nObservation = n()) %>%
       filter(nObservation == max(nObservation)
    
  • 将日期转换为天
  • 计算每天的观察次数
  • 仅保留观察次数最多的天数
  • 代码

    library(dplyr)
    library(lubridate)
    dataset %>%
       mutate(Day = floor_date(Date, unit = "day")) %>%
       group_by(Day) %>%
       mutate(nObservation = n()) %>%
       filter(nObservation == max(nObservation)
    

    下面是一个基本的R方法,应该可以工作:

    # create a day variable
    df$day <- as.Date(df$Date, format="%Y-%m-%d")
    
    # calculate the number of observations per day
    df$obsCnt <- ave(df$Temp, df$day, FUN=length)
    
    # subset data: more than 90 observations
    dfNew <- df[df$obsCnt > 96,]
    
    #创建一个日变量
    
    df$day这里有一个基本的R方法应该有效:

    # create a day variable
    df$day <- as.Date(df$Date, format="%Y-%m-%d")
    
    # calculate the number of observations per day
    df$obsCnt <- ave(df$Temp, df$day, FUN=length)
    
    # subset data: more than 90 observations
    dfNew <- df[df$obsCnt > 96,]
    
    #创建一个日变量
    
    df$day完整的天数是否有固定数量的观察值(大约96条)?是的,完整的一天每天应该有96条观察值(行)?完整的天数是否有固定数量的观察值(大约96条)?是的,完整的一天每天应该有96条观察值(行)