检查列表中的值是否在 Dataframe 中的最快方法是什么?
下面是我尝试过的方法(在一个大得多的数据集和一个大得多的列表上)
#list
list_vals <- list("a", "b", "c", "d")
#dataframe
df <- data.frame(col1 <- c("1", "a", "c"),
col2 <- c("24a" , "d", "b"))
#function to check presence
pmt_present <- function(x) {
present <- any(df==x)
return(present)
}
#run check for vals in df
present_list <- lapply(list_vals, pmt_present)
#create df of results
present_df <- as.data.frame(cbind(list_vals, present_list))
我的代码整晚都在运行,当我停止它时,它抛出了以下错误Error in base::try(sample_long_mutate, silent = TRUE) : object 'sample_long_mutate' not found
但它在小例子中工作得很完美。
2条答案
按热度按时间yvgpqqbh1#
将
%in%
与unlist
沿着使用6vl6ewon2#
或者也可以做