常用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ù)框合并非常棒。但是,它常返回多于預期的行或列。用match()(https://rdrr.io/r/base/match.html)函數(shù)能解決這個問題,但是非常復雜難用。.
lookup包應運而生,有兩個簡單的函數(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!!!