[英]Compare faster columns of different dataframes
讓我們假設兩個數據幀:A和B包含如下數據:
Dataframe: A Dataframe: B
ColA ColB1 ColB2
| Dog | | Lion | yes
| Lion | | Cat |
| Zebra | | Elephant |
| Bat | | Dog | yes
想要將ColA的值與ColB1的值進行比較,以便在列ColB2中匹配時插入yes。 我正在運行的是這樣的:
for (i in 1:nrow(B)){
for (j in 1:nrow(A)){
if (B[i,1] == A[j,1]){
B[i,2] <- "yes"
}
}
}
實際上,我們正在談論abaout 20000行。 怎么會更快呢?
您可以使用%in%
運算符確定成員資格:
B$ColB2 <- B$ColB1 %in% A$ColA
ColB2
將包含TRUE/FALSE
具體取決於是否在數據幀A
ColA
中找到數據幀B
ColB1
的值。
有關更多信息,請參見:
https://stat.ethz.ch/R-manual/R-devel/library/base/html/match.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.