-3
我有不同長度的有以下兩個變量的數據幀:增加值從DF較長DF
DF1:州,縣,收入,年齡
DF2(較長的一個):郵編。代碼,州,郡
因此,df1對州&縣的每個組合都有一個唯一的條目,df2可以有幾個用於不同郵政編碼的條目。
我試圖將收入和年齡從df1分配給df2中的每一行(Zip.Code)。 我已經試過:
dplyr:: left_join(df2, df1, by=c("STATE", "COUNTY"))
或
df2$Income <- NA
df2$Age <- NA
for (i in 1:length(df2$Zip.Code)){
for (j in 1:length(df1$STATE)){
if (df2$STATE[i]== df1$STATE[j] & df2$COUNTY[i]== df1$COUNTY[j]){
df2$Age[i] <- df1$Age[j]
df2$Income[i] <- df1$Income[j]
}
}}
這樣做的結果是NA所有的收入和年齡。
更新:問題是寫狀態的不同方式。謝謝您的幫助。
'dplyr :: left_join(DF2,DF1,通過= C( 「縣」, 「國家」))'。 – tchakravarty
也檢查'合併'功能。 – lmo
應該提到它 - left_join得到了同樣的結果(NA) –