2014-10-30 31 views
1

我想了解,爲什麼我正在做的是不工作,爲什麼我收到我的結果。這兩者之所以爲什麼當我有一列數據框並嘗試添加一行時,我會以某種方式擴展它,以及爲什麼日期格式會發生變化?如果有人能夠請出來幫忙,除了知道正確的方法之外,我真的有興趣知道爲什麼它不起作用。數據框中的綁定日期

感謝

class(wklyAvg.hedge.cost$Date[[NROW(wklyAvg.hedge.cost)]]+7) 
[1] "Date" 

class(wklyAvg.hedge.cost$Date[2:NROW(wklyAvg.hedge.cost$Date)]) 
[1] "Date" 

head(wklyAvg.hedge.cost$Date[2:NROW(wklyAvg.hedge.cost$Date)]) 
[1] "1997-01-10" "1997-01-17" "1997-01-24" "1997-01-31" "1997-02-07" "1997-02-14" 

wklyAvg.hedge.cost$Date[[NROW(wklyAvg.hedge.cost)]]+7 
[1] "2014-01-10" 

hedge.apply.dates <- rbind(wklyAvg.hedge.cost$Date[2:NROW(wklyAvg.hedge.cost$Date)],wklyAvg.hedge.cost$Date[[NROW(wklyAvg.hedge.cost)]]+7) 

head(hedge.apply.dates) 
     [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14] [,15] [,16] [,17] [,18] [,19] [,20] [,21] [,22] [,23] [,24] [,25] [,26] [,27] [,28] [,29] [,30] [,31] [,32] [,33] [,34] [,35] [,36] [,37] 
[1,] 9871 9878 9885 9892 9899 9906 9913 9920 9927 9934 9941 9948 9955 9962 9969 9976 9983 9990 9997 10004 10011 10018 10025 10032 10039 10046 10053 10060 10067 10074 10081 10088 10095 10102 10109 10116 1
[2,] 16080 16080 16080 16080 1608 

回答

0

只是這樣做,而不是

hedge.apply.dates <- c(wklyAvg.hedge.cost$Date[2:NROW(wklyAvg.hedge.cost$Date)],wklyAvg.hedge.cost$Date[[NROW(wklyAvg.hedge.cost)]]+7) 
0

rbind結合行。由於你的兩個向量長度不一樣,所以較短的就會被回收。另外,help("rbind")指出,「輸入可能有的任何類都被丟棄」。因此,您最終得到的是兩行矩陣中的Date s的內部整數表示。

a <- as.Date(c("1997-01-10", "1997-01-17", "1997-01-24", "1997-01-31", "1997-02-07", "1997-02-14")) 
b <- as.Date("2014-01-10") 
rbind(a, b) 
# [,1] [,2] [,3] [,4] [,5] [,6] 
#a 9871 9878 9885 9892 9899 9906 
#b 16080 16080 16080 16080 16080 16080 

可能你想使用c(它創建一個向量),而不是?

c(a, b) 
#[1] "1997-01-10" "1997-01-17" "1997-01-24" "1997-01-31" "1997-02-07" "1997-02-14" "2014-01-10"