|
本帖最后由 kenneth4314 于 2013-4-6 14:46 编辑
小弟是新手~希望找到解決方法~
小弟用了R計算了2組數據x和y
然後我就分別stack(x)和stack(y)
stack完後2組數據分別都有1377個data,這些data內都有些NA,和各有2個變數
x變數有w和countries
y變數有z和countries
x和y內的countries都是一樣的
我試過merge x和y,本應合拼完,「列」會有1377,但merge完「列」出了3萬多個?
我想問有甚麼解決方法??
例如:
> x=read.csv("e:/R/1.csv",sep=",",header=T)
> y=read.csv("e:/R/2.csv",sep=",",header=T)
> x
x y
1 2 NA
2 3 34
3 3 567
> y
y x
1 NA 2
2 24 3
3 435 3
> e=stack(x)
> r=stack(y)
> names(e)=c("Z","countries")
> names(r)=c("S","countries")
> e
values ind
Z countries
1 2 x
2 3 x
3 3 x
4 NA y
5 34 y
6 567 y
> r
S countries
1 NA y
2 24 y
3 435 y
4 2 x
5 3 x
6 3 x
> merge(e,r,by.x="countries")
countries Z S
1 x 2 2
2 x 2 3
3 x 2 3
4 x 3 2
5 x 3 3
6 x 3 3
7 x 3 2
8 x 3 3
9 x 3 3
10 y NA NA
11 y NA 24
12 y NA 435
13 y 34 NA
14 y 34 24
15 y 34 435
16 y 567 NA
17 y 567 24
18 y 567 435
為何會變成這樣?我目的是合拼成這樣
Z countries S
1 2 x 2
2 3 x 3
3 3 x 3
4 NA y NA
5 34 y 24
6 567 y 435
各位大大有沒有方法解決?
|
|