R如何合并3列上的2个数据帧,所有列都具有不同的列名
我试图对同一列使用不同名称的两个不同数据集进行内部联接合并。我需要在三列上合并。我检查了stackoverflow和其他源,但问题合并到同一列的同名数据源上 当前代码:R如何合并3列上的2个数据帧,所有列都具有不同的列名,r,merge,R,Merge,我试图对同一列使用不同名称的两个不同数据集进行内部联接合并。我需要在三列上合并。我检查了stackoverflow和其他源,但问题合并到同一列的同名数据源上 当前代码: state <- c('AZ','MD','NY', 'CA', 'FL') STATE_ID <- c('AZ','MD','NY', 'CA', 'FL') month <- c(1,2,3,4,5,6,7,8,9,10,11,12) MONTH_ID <- c(1,2,3,4,5,6,7,8,9,1
state <- c('AZ','MD','NY', 'CA', 'FL')
STATE_ID <- c('AZ','MD','NY', 'CA', 'FL')
month <- c(1,2,3,4,5,6,7,8,9,10,11,12)
MONTH_ID <- c(1,2,3,4,5,6,7,8,9,10,11,12)
year <- c(2001, 2002, 2003, 2004)
YEAR_ID <- c(2001, 2002, 2003, 2004)
# note all rates are fake numbers
eduRate <- (7.5, 6.2, 1.3, 9.9, ....)
otherCol <- c('a','b','c','d','e','f','g' ....)
DROPOUT_RATE <- c(1.2, 3.2, 5.3, 1.9, ....)
someOtherCol <- c('a','b','c','d','e','f','g' ....)
anotherCol <- c('a','b','c','d','e','f','g' ....)
data1 <- data.frame(state, month, year, eduRate, otherCol)
data2 <- data.frame(STATE_ID, MONTH_ID, YEAR_ID, DROPOUT_RATE, someOtherCol, anotherCol)
mergeDf <- merge(x=data1, y=data2,
by.x=state, by.y=STATE_ID,
by.x=month, by.y=MONTH_ID,
by.x=year, by.y=YEAR_ID) # <-- NOT WORKING
mergeDf(x=data1, y=data2, by=c("state","year","month")) # <-- cannot use because column names per data set different
我喜欢tidyverse的dplyr中连接多个键的语法
state <- c('AZ','MD','NY', 'CA')
STATE_ID <- c('AZ','MD','NY', 'CA')
month <- c(1,2,3,4)
MONTH_ID <- c(1,2,3,4)
year <- c(2001, 2002, 2003, 2004)
YEAR_ID <- c(2001, 2002, 2003, 2004)
# note all rates are fake numbers
eduRate <- c(7.5, 6.2, 1.3, 9.9)
otherCol <- c('a','b','c','d')
DROPOUT_RATE <- c(1.2, 3.2, 5.3, 1.9)
someOtherCol <- c('a','b','c','d')
anotherCol <- c('a','b','c','d')
data1 <- data.frame(state, month, year, eduRate, otherCol)
data2 <- data.frame(STATE_ID, MONTH_ID, YEAR_ID, DROPOUT_RATE, someOtherCol, anotherCol)
df<- data1 %>%
left_join(data2, by=c("state"="STATE_ID","month"="MONTH_ID", "year"="YEAR_ID"))
说明读卡器无法运行您的代码。有许多错误。例如,eduRate我键入的。。。所以我不需要全部输入6000行。如果试图帮助你的人不能测试他们对你问题的解决方案是否有效,你就不可能得到帮助。请提供您的读者可以运行的代码。其他人可以帮助吗?我只需要有关merge语句的帮助。我的数据框架很清晰。
state <- c('AZ','MD','NY', 'CA')
STATE_ID <- c('AZ','MD','NY', 'CA')
month <- c(1,2,3,4)
MONTH_ID <- c(1,2,3,4)
year <- c(2001, 2002, 2003, 2004)
YEAR_ID <- c(2001, 2002, 2003, 2004)
# note all rates are fake numbers
eduRate <- c(7.5, 6.2, 1.3, 9.9)
otherCol <- c('a','b','c','d')
DROPOUT_RATE <- c(1.2, 3.2, 5.3, 1.9)
someOtherCol <- c('a','b','c','d')
anotherCol <- c('a','b','c','d')
data1 <- data.frame(state, month, year, eduRate, otherCol)
data2 <- data.frame(STATE_ID, MONTH_ID, YEAR_ID, DROPOUT_RATE, someOtherCol, anotherCol)
df<- data1 %>%
left_join(data2, by=c("state"="STATE_ID","month"="MONTH_ID", "year"="YEAR_ID"))