R 合并两个数据帧,但仅合并匹配的条目
我在一个数据帧(y)中有位置数据,在另一个数据帧(天气)中有天气数据 我想将天气数据与y数据框合并,但只针对y中有相应行的时间和日期 我尝试过合并和rbind,我要么得到一个空的数据帧,要么得到一个有数百万个条目的数据帧,而实际上应该有7000个条目R 合并两个数据帧,但仅合并匹配的条目,r,dataframe,merge,R,Dataframe,Merge,我在一个数据帧(y)中有位置数据,在另一个数据帧(天气)中有天气数据 我想将天气数据与y数据框合并,但只针对y中有相应行的时间和日期 我尝试过合并和rbind,我要么得到一个空的数据帧,要么得到一个有数百万个条目的数据帧,而实际上应该有7000个条目 names(y) [1] "ID" "Year" "Month" "Day" "Time" "Source" [7] "Source.Lat" "Source.Lon" "
names(y)
[1] "ID" "Year" "Month" "Day" "Time" "Source"
[7] "Source.Lat" "Source.Lon" "Target" "Target.Lat" "Target.Lon"
names(weather)
[1] "Target" "Year" "Month" "Day" "Time"
[6] "Temp" "Dew_Point_Temp" "Humidity" "Wind_Direction" "Wind_Speed"
[11] "Pressure" "Humidex"
all.data <- merge(y, weather, by = c("Target","Year","Month","Day","Time"))
样本数据(天气)
如果
y
不包含唯一的信息,您可以使用:
all.data <- merge(unique(y[("Target","Year","Month","Day","Time")]), weather)
然后使用
merge
描述一个内部联接,这就是您编写的merge
行所做的,因此没有问题。如果它不起作用,您的数据会出现一些问题,除非您共享数据(或复制该问题的示例数据),否则无法识别这些问题。看起来,Month
在y
中的类型与weather
@GKi中的类型不同。有没有简单的方法来纠正这个问题?我是个r宝宝y$Month
Target Year Month Day Time Temp DP Hum WD WS Pressure
1 Kejimkujik 2019 6 1 0:00 6.5 6.1 97 32 3 99.51
2 Kejimkujik 2019 6 1 1:00 5.9 5.6 98 30 2 99.50
3 Kejimkujik 2019 6 1 2:00 4.9 4.7 98 31 3 99.52
4 Kejimkujik 2019 6 1 3:00 4.4 4.3 99 32 3 99.52
5 Kejimkujik 2019 6 1 4:00 4.1 4.0 99 24 3 99.57
all.data <- merge(unique(y[("Target","Year","Month","Day","Time")]), weather)
y$Month <- as.numeric(y$Month)