楼主: chloe0521
14773 15

[问答] 用R软件 如何补全 不连续的日期数据? [推广有奖]

11
紫血丹心 在职认证  发表于 2016-4-26 19:11:13 来自手机 |只看作者 |坛友微信交流群
数据库取数的时候就处理,leftjoin很简单的,没必要R处理数据,不合适

使用道具

12
释梦涯 发表于 2016-4-26 23:14:36 来自手机 |只看作者 |坛友微信交流群
遇到过类似问题,用和@治感冒 一样的方法解决了。

使用道具

13
kazenogyosya 在职认证  发表于 2016-5-9 11:14:05 |只看作者 |坛友微信交流群
jiangbeilu 发表于 2016-3-27 10:03
给你按照这个思路来:
感谢之至!!

使用道具

14
kongbudeyagao 学生认证  发表于 2016-12-13 09:39:08 |只看作者 |坛友微信交流群
date1<- seq(from=as.Date('2006/01/01'), to=as.Date('2016/08/03'), by='1 day'

http://blog.csdn.net/trisyp/article/details/52276392

使用道具

15
LQB1994 学生认证  发表于 2024-5-13 00:04:36 |只看作者 |坛友微信交流群
  1. completeDate<-function(originalDate){
  2.     require(lubridate)
  3.     originalDate$date <- as.Date(originalDate$date,format='%Y-%m-%d')
  4.     originalDate$dateID_original <- c(1:nrow(originalDate))
  5.     date_start <- ymd(originalDate$date[1])
  6.     date_end <- ymd(originalDate$date[length(originalDate$date)])
  7.     completeDate <- data.frame(date= date_start + days(0:as.numeric(date_end - date_start)))
  8.     completeDate$dateID_full <- c(1:nrow(completeDate))
  9.     mergedDate<-merge(completeDate, originalDate, by="date", all=TRUE)
  10.     return(mergedDate)
  11. }

  12. originalDate <-  data.frame(date = as.Date(c(ymd("2010-03-30") , ymd("2010-03-30"))))
  13. Date_pk <- completeDate(originalDate)
复制代码

使用道具

16
赵安豆 发表于 2024-5-15 09:24:32 |只看作者 |坛友微信交流群
在R中,你可以使用`complete()`函数从`tidyr`包来补全不连续的日期。首先,确保你已经安装了`tidyr`包,如果没有,可以通过运行`install.packages("tidyr")`进行安装。然后,你可以按照以下步骤操作:

```R
# 假设你的数据集叫做df,日期列是'date',数值列是'value'
library(tidyr)

# 将日期列转换为日期格式(如果还不是)
df$date <- as.Date(df$date, format = "%Y-%m-%d")

# 补全日期并用NA填充缺失的数值
df_filled <- df %>%
  complete(date = seq(min(date), max(date), by = "day"),
            fill = list(value = NA))

# 输出结果
print(df_filled)
```

这段代码将根据你的数据集中的最小和最大日期生成一个连续日期序列,并用NA填充缺失的数值。完成此操作后,所有不连续的日期都会被补充进来。

此文本由CAIE学术大模型生成,添加下方二维码,优先体验功能试用



使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-6-16 23:40