Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 将不规则时间序列M-D-Y hh:mm:ss转换为规则TS,并填充NA_R_Date_Time_Time Series - Fatal编程技术网

R 将不规则时间序列M-D-Y hh:mm:ss转换为规则TS,并填充NA

R 将不规则时间序列M-D-Y hh:mm:ss转换为规则TS,并填充NA,r,date,time,time-series,R,Date,Time,Time Series,我读过之前的文章,但我无法得到我想要的。我需要获得一个每天有16次间隔的系列赛(至少是第一天和最后一天,在这种情况下,间隔从第一次/最后一次观察开始/结束)。我希望观察到的变量位于相应的区间内,否则为NA 我的数据如下:[Ya和Yb是观察到的变量] mdyhms Ya Yb Mar-27-2009 19:56:47 25 58.25 Mar-27-2009 20:38:59 9 81.25 Mar-28-2009 08:00:30 9

我读过之前的文章,但我无法得到我想要的。我需要获得一个每天有16次间隔的系列赛(至少是第一天和最后一天,在这种情况下,间隔从第一次/最后一次观察开始/结束)。我希望观察到的变量位于相应的区间内,否则为NA

我的数据如下:[Ya和Yb是观察到的变量]

mdyhms                  Ya  Yb
Mar-27-2009 19:56:47    25  58.25
Mar-27-2009 20:38:59    9   81.25
Mar-28-2009 08:00:30    9   88.75
Mar-28-2009 09:26:29    0   89.25
Mar-28-2009 11:57:01    8.5 74.25
Mar-28-2009 12:19:10    7.5 71.00
Mar-28-2009 14:17:05    1.5 70.00
Mar-28-2009 15:13:14    NA  NA
Mar-28-2009 17:09:53    4   85.50
Mar-28-2009 18:37:24    0   86.00
Mar-28-2009 19:19:23    0   50.50
Mar-28-2009 20:45:50    0   36.25
Mar-29-2009 08:44:16    4.5 34.50
Mar-29-2009 10:35:12    8.5 39.50
Mar-29-2009 11:09:13    3.67    69.00
Mar-29-2009 12:40:07    0   54.25
Mar-29-2009 14:31:48    5.33    35.75
Mar-29-2009 16:19:27    6.33    71.75
Mar-29-2009 16:43:20    7.5 64.75
Mar-29-2009 18:37:42    8   83.75
Mar-29-2009 20:01:26    6.17    93.75
Mar-29-2009 20:43:53    NA  NA
Mar-30-2009 08:42:05    12.67   88.50
Mar-30-2009 09:52:57    4.33    75.50
Mar-30-2009 12:01:32    1.83    70.75
Mar-30-2009 12:19:40    NA  NA
Mar-30-2009 14:23:37    3.83    86.75
Mar-30-2009 16:00:59    37.33   80.25
Mar-30-2009 17:19:28    10.17   77.75
Mar-30-2009 17:49:12    9.83    73.00
Mar-30-2009 20:06:00    11.17   76.75
Mar-30-2009 21:40:35    20.33   68.25
Mar-31-2009 08:11:12    18.33   69.75
Mar-31-2009 09:51:29    14.5    65.50
Mar-31-2009 11:10:41    NA  NA
Mar-31-2009 13:27:09    NA  NA
Mar-31-2009 13:44:35    NA  NA
Mar-31-2009 16:01:23    NA  NA
Mar-31-2009 16:56:14    NA  NA
Mar-31-2009 18:27:28    NA  NA
Mar-31-2009 19:17:46    NA  NA
Mar-31-2009 21:12:22    NA  NA
Apr-01-2009 08:35:24    2.33    60.25
Apr-01-2009 09:24:49    1.33    71.50
Apr-01-2009 11:28:34    5.67    62.00
Apr-01-2009 13:31:48    NA  NA
Apr-01-2009 14:52:18    NA  NA
Apr-01-2009 15:11:44    1.5 71.50
Apr-01-2009 17:00:53    3.17    84.00

谢谢

假设您的数据帧称为“数据”,我会使用。它们更容易使用:

#Conversion of dates
Data$time <- as.POSIXct(Data$mdyhms,format="%b-%d-%Y %H:%M:%S")

#conversion to time series
library(xts)
TimeSeries <- xts(Data[,c("Ya","Yb")],Data[,"time"])
日期转换
Data$time假设您的数据帧被称为“数据”,我会使用。它们更容易使用:

#Conversion of dates
Data$time <- as.POSIXct(Data$mdyhms,format="%b-%d-%Y %H:%M:%S")

#conversion to time series
library(xts)
TimeSeries <- xts(Data[,c("Ya","Yb")],Data[,"time"])
日期转换
Data$time您可以在对象上使用
dput
函数(
dput(foo)
)并复制输出吗?这使我们能够更轻松地读取数据感谢Marek编辑我的数据,现在我知道怎么做了!您可以在对象上使用
dput
函数(
dput(foo)
)并复制输出吗?这使我们能够更轻松地读取数据感谢Marek编辑我的数据,现在我知道怎么做了@Joris Meys Joris,关于这些观察结果的特点,我同意你的看法。除此之外,我希望观察到的变量位于相应的区间(每天16个),否则为NA(这是我的目标)。另一方面,当我应用你们的建议时,我得到了这个错误:字符串不是标准的明确格式。谢谢@艾丽卡:考虑到样本数据中的时间点,不可能确定额外的NA观测值应该填写在哪里。每一次观测都在不同的时间点,它们之间的间隔并不一致。因此,没有自动的方法来做到这一点。关于错误:我用你的样本数据试过了,效果很好。确保mdyhms是一个字符串,在整个变量中,它的格式在任何地方都是相同的,不要忘记首先转换为POSIXct。@Erica:即使您定义了时间间隔并将每个时间点放在它所属的时间间隔中,某些时间间隔仍然会得到2个数据点。因此,没有可能的方法做到这一点。@Joris Meys:正如你所指出的,有些时间间隔有两个观测值。我的想法是定义区间,并将观察到的变量定位在相应的区间内。当2个观测值位于同一区间时,考虑平均值。我试过几种形式,但都失败了。我想我得手工做。无论如何,谢谢你的帮助@艾丽卡:那已经很不一样了。这实际上比你最初的问题可行得多。如果你修改这个问题,我会检查我能找到什么。@Joris Meys Joris,关于这些观察的特点,我同意你的看法。除此之外,我希望观察到的变量位于相应的区间(每天16个),否则为NA(这是我的目标)。另一方面,当我应用你们的建议时,我得到了这个错误:字符串不是标准的明确格式。谢谢@艾丽卡:考虑到样本数据中的时间点,不可能确定额外的NA观测值应该填写在哪里。每一次观测都在不同的时间点,它们之间的间隔并不一致。因此,没有自动的方法来做到这一点。关于错误:我用你的样本数据试过了,效果很好。确保mdyhms是一个字符串,在整个变量中,它的格式在任何地方都是相同的,不要忘记首先转换为POSIXct。@Erica:即使您定义了时间间隔并将每个时间点放在它所属的时间间隔中,某些时间间隔仍然会得到2个数据点。因此,没有可能的方法做到这一点。@Joris Meys:正如你所指出的,有些时间间隔有两个观测值。我的想法是定义区间,并将观察到的变量定位在相应的区间内。当2个观测值位于同一区间时,考虑平均值。我试过几种形式,但都失败了。我想我得手工做。无论如何,谢谢你的帮助@艾丽卡:那已经很不一样了。这实际上比你最初的问题可行得多。如果你修改这个问题,我会检查我能找到什么。