[英]Find elements in a column that is not in another column of another dataframe in R
我有兩個看起來像這樣的數據框:
dat <- data.frame(col1 = c(1:100))
dat2 <- data.frame(col2 = c(5:105))
我想找到dat
中但不在dat2
中的所有元素。 我怎樣才能做到這一點?
謝謝!
您可以使用setdiff
:
setdiff(dat$col1, dat2$col2)
#[1] 1 2 3 4
您可以使用過濾連接,例如
dplyr::anti_join(dat,dat2, by = c("col1" = "col2"))
或直接通過filter
library(dplyr)
dat %>% filter(!col1 %in% dat2$col2)
輸出:
col1
1 1
2 2
3 3
4 4
使用data.table
選項:
library(data.table)
setDT(dat)
setDT(dat2)
dat[!dat2, on = .(col1 = col2)]
輸出:
col1
1: 1
2: 2
3: 3
4: 4
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.