【发布时间】:2016-05-01 07:23:45
【问题描述】:
我有要合并的名为 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
但是在合并这两个数据帧后,我只得到了 NA。 请让我知道我哪里出错了。
这是函数及其输出:
>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>
【问题讨论】:
-
你能输入exp和cat吗?
-
@ZahiroMor,完全同意,这样会更好,尽管
read.table("clipboard")在这里工作得很好。 @SowmyaT.K,你想要的结果是什么?cat[ cat$keyword %in% exp$keyword, ]能完成这项工作吗?对了,不要用cat作为变量名,是保留字。 -
是的。我将变量名更改为 cat1。但是,输出仍然充满了 NA。是的。我将使用 dput() 进行检查。谢谢
-
@vaettchen
cat不是 R 中的保留字。它只是base函数(以及exp)的名称。 -
> dput(exp) structure(list(keyword = structure(c(15L, 17L, 12L, 15L, 22L), .Label = c("CID", "ECG LEADS", "GCON ”、“HCON”、“HVA”、“IQ”、“L-ARM”、“L ARM”、“轻轨”、“LLD”、“LVA”、“PCON”、“PPM”、“RELO”、 “SLD”、“SNAC”、“TRUNION”、“TRUNNION”、“UPS”、“COVERS”、“电气”、“龙门”、“硬件”、“旋转”、“触摸板”、“触摸板”)、 class= "因子"),keyword=.....), .Names = c("keyword", "keyword2"), row.names = c(NA, -5L), class= "data.frame") ........这是 dput(exp) 的输出