您好我有具有不同長度的兩個數據幀:合併兩個數據幀以匹配日期(不同的標題)具有不同長度
nrow(artdataframe1)
[1] 78
nrow(spdataframe)
[1] 7607
這兩個數據幀具有日期欄爲YYYYMMDD
> head(artdataframe1)
artdate artprice
1 19870330 $83.60
2 19871111 $113.60
3 19881128 $78.00
4 19890509 $92.50
5 19890531 $68.00
6 19890801 $115.90
> head(spdataframe)
SP500close SP500date
1 289.20 19870330
2 291.70 19870331
3 292.39 19870401
4 293.63 19870402
5 300.41 19870403
6 301.95 19870406
我想加入這兩個按日期匹配的數據框。這意味着來自artdataframe1(nrow78)的行將加入到spdataframe(nrow7607)中。這意味着在不匹配的情況下會有很多NA值很好。
我把這兩dataframes來自同一.csv和已經刪除了artdataframe1的NA線與
artdataframe1 <- artdataframe[!is.na(artdataframe[,1]),]
所以這是一些回地面。我試圖用這個命令,但它不是按日期匹配,因爲我所期望的:
newdf <- merge(spdataframe, artdataframe1, by = intersect(names(SP500date), names(artdate)),
by.spdataframe = by, by.artdataframe1 = by, all = FALSE, all.spdataframe = all, all.artdataframe1 = all,
sort = TRUE, suffixes = c(".spdataframe",".artdataframe1"),
incomparables = NULL)
任何進一步的指導/援助,將不勝感激。
感謝
讓我補充這一點,這是每類數據幀的:
> str(artdataframe1)
'data.frame': 78 obs. of 2 variables:
$ artdate : int 19870330 19871111 19881128 19890509 19890531 19890801 19891127 19891130 19900515 19900517 ...
$ artprice: Factor w/ 74 levels "","$102.10 ",..: 58 10 49 66 36 11 52 69 21 18 ...
> str(spdataframe)
'data.frame': 7607 obs. of 2 variables:
$ SP500close: num 289 292 292 294 300 ...
$ SP500date : int 19870330 19870331 19870401 19870402 19870403 19870406 19870407 19870408 19870409 19870410 ...
他們都是整數 - 合併時將在有所作爲?
'newdf < - 合併(spdataframe,artdataframe1,by.x = 「artdate」,by.y = 「SP500date」 時,所有= TRUE)'' – HubertL
$ spdataframe的網上< - artdataframe1 $的網上[ artdataframe1 $ artdate%in%spdataframe $ SP500date]' – Masoud