Подсчитать количество строк, содержащих одинаковое значение? - PullRequest
0 голосов
/ 27 апреля 2018

Допустим, у меня есть фрейм данных, который содержит два столбца "a" и "b". Я хотел бы посчитать количество строк, которые содержат одинаковое значение для обоих столбцов для данной строки.

например. Если строка 1 столбца «а» содержит «синий» Если строка 1 столбца «b» содержит «синий», то это будет считаться 1.

1 Ответ

0 голосов
/ 27 апреля 2018

Что-то простое, например 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...