在R中加入数据帧时的重复值

时间:2019-08-24 22:39:51

标签: r

当我合并数据帧时,我会编写以下代码:

library(readxl)
df1 <- read_excel("C:/Users/PC/Desktop/precipitaciones_4Q.xlsx")
df2 <- read_excel("C:/Users/PC/Desktop/libro_copia_1.xlsx")

df1 = data.frame(df1) 
df2 = data.frame(df2)

df1$codigo = toupper(df1$codigo)
df2$codigo = toupper(df2$codigo)      


dat = merge.data.frame(df1,df2,by= "codigo", all.y =  TRUE,sort = TRUE)

数据包含降雨县,df1县少于df2。我想将降雨数据从df1粘贴到df2的县。 当将县数据粘贴到df2中时,会出现问题,出现重复县。

df1:

df1 image

df2:

df2 image

1 个答案:

答案 0 :(得分:1)

您必须从第一张和第二张表中指定用于联接的列名,而不是“ id”。 您可以使用下面的data.table软件包和代码:

library(data.table)
dat <- merge(df1, df2, by.x = "Columna1", by.y = "prov", all.y = TRUE)

此外,您可以使用funion函数:

dat <- funion(df1, df2)

rbind函数:

dat <- rbind(df1, df2)
dat <- unique(dat)

注意:列名称和两个数据框的列数必须相同。