计算包含相同值的行数?

时间:2018-04-26 23:29:48

标签: r

我们说我的数据框包含两列" a"和" b"。我想计算给定行的两列包含相同值的行数。

E.g。如果列的第1行" a"包含"蓝色"      如果列的第1行" b"包含"蓝色"比那算1。

1 个答案:

答案 0 :(得分:2)

sum(df$a == df$b)这样简单的内容会为您提供正确的答案,假设数据中没有NA

如果您想要安全,可以使用以下内容:

`%==%` <- function(a,b) {
  ana <- is.na(a)
  bna <- is.na(b)
  (ana & bna) | (!ana & !bna & a==b)
}
x1 <- c(1,2,NA,4)
x2 <- c(2,2,NA,NA)
x1 %==% x2
# [1] FALSE  TRUE  TRUE FALSE
sum(x1 %==% x2)
# [1] 2