我使用R merge()合并了两个数据表,因为C = merge(A,B,by =“id”);但在我的最终输出(C)中, - / +符号被更改为零。 我不打算改变 - / +符号。解决这个问题的方法是什么?
数据框A:
id V1 V2 V3
A 23 - 23
B 44 - 35
C 13 + 14
D 20 - 12
数据框B:
id X Y Z
A 16 - 45
B 26 - 28
C 29 + 44
D 54 - 34
输出:
id V1 V2 V3 X Y Z
A 23 0 23 16 0 45
B 44 0 35 26 0 28
C 13 0 14 29 0 44
D 20 0 12 54 0 34
提前致谢。
答案 0 :(得分:2)
对我来说它有效
R> x = data.frame(c(1, 2), c("+", "-"))
R> y = data.frame(id=c(1, 2), sy=c("-", "+"))
R> x = data.frame(id=c(1, 2), sx=c("+", "-"))
R> x
id sx
1 1 +
2 2 -
R> y
id sy
1 1 -
2 2 +
R> merge(x, y, by="id")
id sx sy
1 1 + -
2 2 - +