找回密码
 注册
查看: 2955|回复: 1

請高人指點~關於merge問題~急><"

[复制链接]
发表于 2013-4-6 12:38:18 | 显示全部楼层 |阅读模式
本帖最后由 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

各位大大有沒有方法解決?



回复

使用道具 举报

发表于 2013-11-26 23:00:09 | 显示全部楼层
countries,不是唯一的,这么merge是有问题的
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|小黑屋|生物统计家园 网站价格

GMT+8, 2024-11-24 10:27 , Processed in 0.029598 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表