[英]R: Merge different size dataframes by column
我目前正在嘗試合並在R中共享一列的兩個數據幀。這不應該是一個問題,但我在使用合並時遇到了一個奇怪的錯誤。 (這是測試數據,表格是從csv的read.csv2導入的)
數據幀1:
match similar
aa.alcoholics_anonymous.n.01 mission.n.01
aa.associate_in_arts.n.01 associate_in_nursing.n.01
abbreviation.abbreviation.n.01 word.n.01
abbreviation.abbreviation.n.02 truncation.n.03
aberration.aberrance.n.01 varix.n.01
aberration.aberration.n.02 dissociative_disorder.n.01
aberration.aberration.n.03 tyndall_effect.n.01
abnormality.abnormality.n.01 varix.n.01
abnormality.abnormality.n.02 imbecility.n.01
abnormality.abnormality.n.03 unusualness.n.01
數據幀2:
match wordnet_number
aa.alcoholics_anonymous.n.01 2
aa.associate_in_arts.n.01 3
abbreviation.abbreviation.n.01 1
aberration.aberrance.n.01 1
aberration.aberration.n.02 2
aberration.aberration.n.03 3
abnormality.abnormality.n.01 1
期望的結果應如下所示:
match similar Wordnet_number
aa.alcoholics_anonymous.n.01 mission.n.01 2
aa.associate_in_arts.n.01 associate_in_nursing.n.01 3
abbreviation.abbreviation.n.01 word.n.01 2
abbreviation.abbreviation.n.02 truncation.n.03 NA
aberration.aberrance.n.01 varix.n.01 1
aberration.aberration.n.02 dissociative_disorder.n.01 2
aberration.aberration.n.03 tyndall_effect.n.01 3
abnormality.abnormality.n.01 varix.n.01 1
abnormality.abnormality.n.02 imbecility.n.01 NA
abnormality.abnormality.n.03 unusualness.n.01 NA
通常,按“匹配”列合並應該可以正常工作嗎? (之前做過類似的),但由於某種原因,我一直得到這個結果:
total < - merge(test1,test2,by =“match”,all = TRUE)
match similar wordnet_number
aa.alcoholics_anonymous.n.01 mission.n.01 NA
aa.associate_in_arts.n.01 associate_in_nursing.n.01 NA
abbreviation.abbreviation.n.01 word.n.01 NA
abbreviation.abbreviation.n.02 truncation.n.03 NA
aberration.aberrance.n.01 varix.n.01 NA
aberration.aberration.n.02 dissociative_disorder.n.01 NA
aberration.aberration.n.03 tyndall_effect.n.01 NA
abnormality.abnormality.n.01 varix.n.01 NA
abnormality.abnormality.n.02 imbecility.n.01 NA
abnormality.abnormality.n.03 unusualness.n.01 NA
aa.alcoholics_anonymous.n.01 NA 2
aa.associate_in_arts.n.01 NA 3
abbreviation.abbreviation.n.01 NA 1
aberration.aberrance.n.01 NA 1
aberration.aberration.n.02 NA 2
aberration.aberration.n.03 NA 3
abnormality.abnormality.n.01 NA 1
可能是一個愚蠢的錯誤,但我該如何解決這個問題呢?
謝謝!
根據help(merge)
,在僅在一列上合並數據幀時,應使用不incomparables = NA
。 看起來它就是這里的訣竅。
merge(test1, test2, by = "match", all = TRUE, incomparables = NA)
# match similar wordnet_number
# 1 aa.alcoholics_anonymous.n.01 mission.n.01 2
# 2 aa.associate_in_arts.n.01 associate_in_nursing.n.01 3
# 3 abbreviation.abbreviation.n.01 word.n.01 1
# 4 abbreviation.abbreviation.n.02 truncation.n.03 NA
# 5 aberration.aberrance.n.01 varix.n.01 1
# 6 aberration.aberration.n.02 dissociative_disorder.n.01 2
# 7 aberration.aberration.n.03 tyndall_effect.n.01 3
# 8 abnormality.abnormality.n.01 varix.n.01 1
# 9 abnormality.abnormality.n.02 imbecility.n.01 NA
# 10 abnormality.abnormality.n.03 unusualness.n.01 NA
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.