常用Excel表格软件的小伙伴知道lookup 是Excel比较好用的查找函数,现在有了R版的包,可以直接用了!
主页: https://kwstat.github.io/lookup
特性
R中有很多好用的函数,如merge()(https://rdrr.io/r/base/merge.html)
函数用于数据框合并非常棒。但是,它常返回多于预期的行或列。用match()(https://rdrr.io/r/base/match.html)
函数能解决这个问题,但是非常复杂难用。.
lookup包应运而生,有两个简单的函数:T
-
vlookup()(https://kwstat.github.io/lookup/reference/vlookup.html)
包等同与 Excel的VLOOKUP
-
lookup(x,key,value)(https://kwstat.github.io/lookup/reference/lookup.html)
包是一个更符合思维逻辑的match()
包。在key
列中查找x
,并返回同样位置的元素value
。
这两个函数返回的向量与输入的向量长度一样。
安装
# Install the released version from CRAN:
install.packages("lookup")
# Install the development version from GitHub:
install.packages("devtools")
devtools::install_github("kwstat/lookup")
使用
library(lookup)
dat = as.data.frame(state.x77)
dat$statename = rownames(dat)
lookup(state.name[1:5], dat$statename, dat$Frost)
# [1] 20 152 15 65 20
vlookup(state.name[1:5], dat, "statename", "Frost")
# [1] 20 152 15 65 20
So easy!!!