を日付(異なる見出し)を一致させるために2つのデータフレームをマージしますこんにちは、私は長さの異なる2つのデータフレームがあります。が異なる長さで
nrow(artdataframe1)
[1] 78
nrow(spdataframe)
[1] 7607
を2つのデータフレームは、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
として日付列を持っています私はこれらの2つのデータフレームを日付に合わせて結合したいと思います。これは、artdataframe1(nrow78)の行がspdataframe(nrow7607)に結合することを意味します。これは、一致しないものには多くのNA値が存在することを意味します。
私は同じ.csvファイルからこれらのデータフレームの両方を引っ張ると、既にだから、いくつかのバックグラウンドである
artdataframe1 <- artdataframe[!is.na(artdataframe[,1]),]
でartdataframe1でNA行を削除しました。私はこのコマンドを使用しようとしましたが、期待通りに日付ごとに一致していません:
これ以上のガイダンスや援助をいただければ幸いです。
おかげ
は私がこれを追加してみましょう、これは各データフレームのクラスである:
> 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 < - <' ' – HubertL
spdataframe $ artprice(by.y = "SP500date"、すべて= TRUE、spdataframe、artdataframe1、by.x = "artdate")をマージ - artdataframe1 $ artprice [ artdataframe1 $ artdate%in%spdataframe $ SP500date] ' – Masoud