找回密码
 立即注册
查看: 9331|回复: 3

R如何实现Excel中vlookup函数的功能

[复制链接]
发表于 2013-6-18 22:00:32 | 显示全部楼层 |阅读模式
本帖最后由 风云 于 2013-6-18 22:11 编辑

熟悉Excel的童鞋都知道vlookup函数的强大功能。这个函数可以用来查询某特定ID对应的值。比如通过身份证号来查询其对应的名字或其他信息。
那么在Excel中如何实现vlookup的功能呢?让我们看一下的例子。
有一个DataFrame,包含2个变量,ID和Value。
R代码:
  1. ID=1:26
  2. Value=letters
  3. data=data.frame(cbind(ID,Value))
  4. data
复制代码
如果我们想得到一定ID对应的Value,比如要得到:1,9,8,7,12,25 这6个数字对应的Value值,我们可以调用match函数来实现。
代码:
  1. look=c(1,9,8,7,12,25)
  2. #不要告诉我用data[look],这只适用于ID与样本号相同的情况!
  3. data[match(look,data[,1]),2]
复制代码
#[1] a i h g l y
26 Levels: a b c d e f g h i j k l m n o ... z这样就得到我们想要的结果了。
匹配的功能在数据处理和筛选的时候非常有用,在此抛砖引玉,希望大家提出更好的意见。

回复

使用道具 举报

发表于 2013-8-14 20:57:49 | 显示全部楼层
不错,又学到了一个新功能
回复

使用道具 举报

发表于 2015-5-5 17:14:52 | 显示全部楼层
您好,请问如何实现vlookup的模糊匹配功能,就是vlookup第四个参数为True的情况?
回复

使用道具 举报

发表于 2015-5-9 11:16:49 | 显示全部楼层
merge函数与Vlookup有类似的效果,by可以任何关键字合并
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|R语言中文网

GMT+8, 2024-11-25 22:45 , Processed in 0.047302 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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