qq_52061823
qq_52061823
采纳率0%
2021-06-11 17:04 浏览 5

r语言-循环提取特定时间段内的数据

利用循环函数写出来,结果出来的都是时间。但是单独写代码是可以用的。想问下这个是怎么回事?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答 默认 最新

  • qq_15769939 小P聊技术 2021-06-12 10:43

    你试试这个呢:

    获取特定时间段的表格数据方法:

    
     
    1. 方法一:正则表达式
    
    data <- read.csv('F:/data.csv')
    
    date <- as.Date(data$Date)
    
    #获取2018-3-1到2018-3-10之间的第3-5列数据
    
    subT <- date[(format(date,format = "%Y")=="2018"&as.numeric(format(date,format =
    
    "%m"))=="3" &as.numeric(format(date,format = "%d"))>=1&as.numeric(format(date,format
    
    = "%d"))<=10),3:5]
    
    #对2018-3-1到2018-3-10之间第3-5列的数据进行按列求平均值
    
    mean <- apply(subT,2, mean)
    
    
    2. 方法二:
    
    date1 <- as.POSIXct(paste("2018-3-1","08:00:00"))
    
    date2 <- as.POSIXct(paste("2018-3-1","17:00:00"))
    
    int <- interval(date1, date2)
    
    #获取2018-3-1 08:00:00到2018-3-1 17:00:00之间的第3-5列数据
    
    subT <- data[ymd_hms(data$Date) %within% int,3:5]


    注意:1. within判断数据是否在该时间段之内,其中包括起始时间,不包括末尾时间。

                2.paste0(num_year[y],'_',m,'_1')  实现字符串的合并,其中m,num_year[y]为变量。

                   paste拼接时有空格,paste0无空格

    点赞 评论 复制链接分享
  • QA_Assistant 有问必答小助手 2021-06-15 17:37

    您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

    如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

    ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

    点赞 评论 复制链接分享

相关推荐