R 创建包含NAs值的欧元/美元价格表
我有一个包含以下数据的表格:R 创建包含NAs值的欧元/美元价格表,r,R,我有一个包含以下数据的表格: head(EURUSD0) Date Open High Low Close 1 2005-05-02 00:00:00 1.2861 1.2861 1.2861 1.2861 2 2005-05-02 00:04:00 1.2860 1.2860 1.2860 1.2860 3 2005-05-02 00:10:00 1.2861 1.2861 1.2861 1.2861 4 2005-05-02 00:11:00
head(EURUSD0)
Date Open High Low Close
1 2005-05-02 00:00:00 1.2861 1.2861 1.2861 1.2861
2 2005-05-02 00:04:00 1.2860 1.2860 1.2860 1.2860
3 2005-05-02 00:10:00 1.2861 1.2861 1.2861 1.2861
4 2005-05-02 00:11:00 1.2860 1.2860 1.2860 1.2860
5 2005-05-02 00:12:00 1.2861 1.2861 1.2861 1.2861
6 2005-05-02 00:13:00 1.2862 1.2862 1.2861 1.2861
日期定义为POSIXlt:
EURUSD0$Date <- as.POSIXlt(EURUSD0[,1],format = '%Y.%m.%d %H:%M')
我想在这个数据框中填入我所拥有的0欧元的信息。请注意,欧元兑美元每分钟显示一次,而欧元兑美元0每分钟不显示一次
我可以用一个简单的方法来使用这个想法:
> (EURUSD0$Date[1] == EURUSD$Date)[1:10]
[1] TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
> (EURUSD0$Date[2] == EURUSD$Date)[1:10]
[1] FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE
但是我有很多数据,而且非常昂贵
有任何想法/提示如何继续(以不昂贵的方式)吗?使用
合并的一个解决方案:
merge(EURUSD[1], EURUSD0, by="Date", all.x=T)
Date Open High Low Close
1 2005-05-02 00:00:00 1.2861 1.2861 1.2861 1.2861
2 2005-05-02 00:01:00 NA NA NA NA
3 2005-05-02 00:02:00 NA NA NA NA
4 2005-05-02 00:03:00 NA NA NA NA
5 2005-05-02 00:04:00 1.2860 1.2860 1.2860 1.2860
6 2005-05-02 00:05:00 NA NA NA NA
使用这种方法,一个带有时间值的简单数据框就足够了:euruds试图理解这一点。因此,您希望您的目标框架主要是NAs,而不是几个值?如果您认为这有助于您接受左边的答案。
> (EURUSD0$Date[1] == EURUSD$Date)[1:10]
[1] TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
> (EURUSD0$Date[2] == EURUSD$Date)[1:10]
[1] FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE
merge(EURUSD[1], EURUSD0, by="Date", all.x=T)
Date Open High Low Close
1 2005-05-02 00:00:00 1.2861 1.2861 1.2861 1.2861
2 2005-05-02 00:01:00 NA NA NA NA
3 2005-05-02 00:02:00 NA NA NA NA
4 2005-05-02 00:03:00 NA NA NA NA
5 2005-05-02 00:04:00 1.2860 1.2860 1.2860 1.2860
6 2005-05-02 00:05:00 NA NA NA NA
EURUSD0$Date <- as.POSIXct(EURUSD0$Date)
merge(EURUSD[1], EURUSD0, by="Date", all.x=T)
# Date Open High Low Close
# 1 2005-05-02 00:00:00 1.2861 1.2861 1.2861 1.2861
# 2 2005-05-02 00:01:00 NA NA NA NA
# 3 2005-05-02 00:02:00 NA NA NA NA
# 4 2005-05-02 00:03:00 NA NA NA NA
# 5 2005-05-02 00:04:00 1.2860 1.2860 1.2860 1.2860
# 6 2005-05-02 00:05:00 NA NA NA NA