Подсчет количества изменений между двумя кадрами данных (строка за строкой) в r - PullRequest
0 голосов
/ 05 марта 2019

У меня есть два фрейма данных с именем (Before_data и After_data).Вот пример из моих данных

# Before_data
P1  P2  P3  P4  P5  P6  P7  P8
90000   80000   90000   80000   60000   61399   NA  NA
80300   80000   80000   91903   30000   80300   NA  NA
30000   80300   30000   80300   39999   30701   39999   90900
90900   90000   90000   90000   NA  NA  NA  NA
80300   90900   80000   80000   80000   80000   80300   80300

# After_data
P1  P2  P3  P4  P5  P6  P7  P8
90000   80000   90000   80000   60000   61399   80300 80300
80300   80000   80000   91903   30000   80300   NA  NA
90000   90000   90000   NA  NA  NA  NA  NA
90000   100703  90000   99999   90300   100101  99999   31505
80300   80000   40101   90900   40101   40100   80000   80300

Я хотел бы видеть количество изменений между каждыми двумя строками (например, между строкой 1 из Before_data и строкой 1 из After_data. Результат будет равен 2).

Результат равен 0, если мы сравним строку 2 в Before_data и строку 2 в After_data.

Я попробовал следующее

library(daff)
Before_data <-read.csv("Before_data .csv")
After_data<-read.csv("After_data.csv")

diff_data(Before_data, After_data)
dd <- diff_data(Before_data, After_data)
summary(dd)
write_diff(dd, "diff.csv")
render_diff(dd)

Но это показало мне только измененияне номер!

Спасибо,

Ответы [ 2 ]

0 голосов
/ 05 марта 2019

Небольшое отклонение от ответа @Gregor:

ncol(Before_data) - rowSums(Before_data == After_data | is.na(Before_data) & is.na(After_data))
0 голосов
/ 05 марта 2019

Это должно работать:

rowSums(Before_data != After_data, na.rm = TRUE) +
  rowSums(is.na(Before_data) & !is.na(After_data)) +
  rowSums(!is.na(Before_data) & is.na(After_data))

Легко сказать, когда значения, отличные от NA, изменились, мы можем использовать !=.Мы должны быть немного осторожнее с NA, потому что NA != NA даст NA.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...