常用Excel表格軟件的小伙伴知道lookup 是Excel比較好用的查找函數(shù)沙合,現(xiàn)在有了R版的包,可以直接用了榜苫!
主頁: https://kwstat.github.io/lookup
特性
R中有很多好用的函數(shù)护戳,如merge()(https://rdrr.io/r/base/merge.html)
函數(shù)用于數(shù)據(jù)框合并非常棒。但是垂睬,它常返回多于預(yù)期的行或列媳荒。用match()(https://rdrr.io/r/base/match.html)
函數(shù)能解決這個問題抗悍,但是非常復(fù)雜難用。.
lookup包應(yīng)運而生钳枕,有兩個簡單的函數(shù):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
鱼炒。
這兩個函數(shù)返回的向量與輸入的向量長度一樣衔沼。
安裝
# 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!!!