楼主: liujs606
1285 0

求助匹配问题,急啊 [推广有奖]

  • 0关注
  • 0粉丝

小学生

92%

还不是VIP/贵宾

-

威望
0
论坛币
96 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
89 点
帖子
5
精华
0
在线时间
12 小时
注册时间
2007-9-2
最后登录
2020-4-16

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
现有以下两个数据x,y,当然只取出一小部分举例说明
x
     LT      LG       Y       ID
1    34.8    72.4    1997    349.1591
2    34.8    72.4    1998    349.1591
3    34.8    72.4    1999    349.1591
4    34.8    72.4    2000    349.1591
5    34.8    72.4    2001    349.1591
6    35.2    72.5    1997    347.3541
7    35.2    72.5    1998    347.3541
8    35.2    72.5    1999    347.3541
9    35.2    72.5    2000    347.3541
10    35.2    72.5    2001    347.3541
11    35.2    73.1    1997    347.3983
12    35.2    73.1    1998    347.3983
13    35.2    73.1    1999    347.3983
14    35.2    73.1    2000    347.3983
15    35.2    73.1    2001    347.3983
16    35.3    71.9    1997    347.3636
17    35.3    71.9    1998    347.3636
18    35.3    71.9    1999    347.3636
19    35.3    71.9    2000    347.3636
20    35.3    71.9    2001    347.3636

y

    SP                               P             LT     LG     Y     T
1    Abies balsamea (balsam fir)    A.F.E.S.    45.6    66.2    1999    7.62
2    Abies balsamea (balsam fir)    ACADIEVILLE    46.4    65.2    1999    8
3    Abies balsamea (balsam fir)    ASTLE    46.2    66.3    1999    7.32
4    Abies balsamea (balsam fir)    BAY D'ESPOIR    47.4    55.3    1999    9.14
5    Abies balsamea (balsam fir)    BEAR LAKE    47.1    66.1    1998    9.81
我想根据y中LT,LG和Y三个值在x中LT,LT和Y相同的行匹配出来,添加到y中,得到如下结果
SP                                P             LT     LG     Y     T     ID
Abies balsamea (balsam fir)    FRENCH RIVER    45.3    62.3    1997    11.15    306.1589
Abies balsamea (balsam fir)    OT SPOT ROAD    46.2    60.5    1997    11.41    302.2083
Abies balsamea (balsam fir)    CKENZIE ROAD    46.2    60.5    1997    10.1    302.2083
Abies balsamea (balsam fir)    NORTH RIVER    46.2    60.5    2001    NA    302.2083
Abies balsamea (balsam fir)    OTTAWA    45.2    75.3    1999    8.96    306.5334
Abies balsamea (balsam fir)    OTTAWA    45.2    75.3    1999    7.48    306.5334
我使用的程序是
xflag=paste(x[,1],x[,2],x[,3])
yflag=paste(y[,3],y[,4],y[,6])
id1=yflag%in%xflag
id2=sapply(yflag[id1],function(x)which(x==xflag))
result=data.frame(y[id1,],x[id2,3:7])
        这样只能匹配出LT,LG,Y完全一致的结果,三个指标分别为纬度、经度和年份,我想采用模糊匹配的方法,即在年份一样的情况下,在Y中匹配出LT,LG与Y中LT,LG距离最小的数据添加到Y中,并增加两列分别为X,Y中LT和LG的差值,当然如果有完全一致的这两列应该为0。不知道有没有讲清楚这个问题,请大家多提宝贵意见。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:function Ottawa Result FRENCH paste 求助

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-22 00:32