我有一个名为exp和cat的数据帧,它们将被合并。以下是数据帧:
> exp
keyword keyword2
1 SLD SLD
2 TRUNION GANTRY
3 PCON LVA
4 SLD SLD
5 GANTRY GCON
> cat
keyword category
1 PA 11-113
2 IQ 151-16
3 GCON 25-11
4 PCON 29-11
5 HVA 12-41
6 LVA 22-31
7 HCON 21-40
8 LR 2-50
9 TP 12-16
10 CID 25-66
11 HD 31
12 LLD 35-10
13 SLD 37-12
14 RTT 3-26
15 TRUNION 31-35
16 GANTRY 13-15但是在合并这两个数据帧之后,我只能得到NAs。请告诉我哪里出错了。
下面是函数及其输出:
>merge(exp,cat, by='keyword',all.x = TRUE)
keyword keyword2 Category
1 PCON LVA <NA>
2 SLD SLD <NA>
3 SLD SLD <NA>
4 TRUNION GANTRY <NA>
5 GANTRY GCON <NA>发布于 2016-05-01 15:46:14
我不能重现你的错误。以下代码适用于我:
exp <- data.frame(keyword=c("SLD", "TRUNION", "PCON", "SLD", "GANTRY"), keyword2=c("SLD", "GANTRY", "LVA", "SLD", "GCON"))
cat <- data.frame(keyword=c("PA", "IQ", "GCON", "PCON", "HVA", "LVA", "HCON", "LR", "TP", "CID", "HD", "LLD", "SLD", "RTT", "TRUNION", "GANTRY"), category=c("11-113", "151-16", "25-11", "29-11", "12-41", "22-31", "21-40", "2-50", "12-16", "25-66", "31", "35-10", "37-12", "3-26", "31-35", "13-15"))
merge(exp, cat, all.x=TRUE, by="keyword")
keyword keyword2 category
1 GANTRY GCON 13-15
2 PCON LVA 29-11
3 SLD SLD 37-12
4 SLD SLD 37-12
5 TRUNION GANTRY 31-35如果您使用dput()来提供实际的exp和cat,将会有所帮助。这样我们就更有可能弄清楚到底是怎么回事了。我注意到Category在合并的df中是大写的,但在cat中没有大写,所以我怀疑您在这两者之间做了另一个步骤(可能是无意中),但您没有分享。
发布于 2016-05-01 16:21:46
如果您exp数据集是小写的,则转换为大写并合并,
exp <- as.data.frame(sapply(exp, toupper))
merge(exp,cat, by='keyword',all.x = TRUE)
# keyword keyword2 category
#1 GANTRY GCON 13-15
#2 PCON LVA 29-11
#3 SLD SLD 37-12
#4 SLD SLD 37-12
#5 TRUNION GANTRY 31-35https://stackoverflow.com/questions/36964168
复制相似问题