Сравните строки по идентификатору

У меня есть такой фрейм данных:

ИДЕНТИФИКАТОР столбец1 Кол2 АБ 1 3 АБ 1 3 CD 2 4 CD 2 4 ЭФ 5 10 ЭФ 1 1 ГХ 5 10 ГХ 1 1

Я хотел бы сравнить строку в каждом идентификаторе и для каждого столбца с одинаковыми значениями добавить одну точку в столбец «Итого».

Выход:

ИДЕНТИФИКАТОР столбец1 Кол2 Общий mismatch_extract_col1 несоответствие_extract_Col2 АБ 1 3 2 На На АБ 1 3 2 На На CD 2 4 1 На 4:3 CD 2 3 1 На 4:3 ЭФ 5 10 0 На На ЭФ 1 1 0 На На ГХ 5 10 1 5:1 На ГХ 1 10 1 5:1 На

Я пробовал это:

df <- df %>% 
  group_by(ID) %>% 
  mutate(change = ifelse(col1 == lag(col1), 1, 0))

Но это не сработало.

У вас была ошибка с вашим существующим кодом?

Andre Wildberg 13.02.2023 13:36
Руководство для начинающих по веб-разработке на React.js
Руководство для начинающих по веб-разработке на React.js
Веб-разработка - это захватывающая и постоянно меняющаяся область, которая постоянно развивается благодаря новым технологиям и тенденциям. Одним из...
Разница между Angular и React
Разница между Angular и React
React и AngularJS - это два самых популярных фреймворка для веб-разработки. Оба фреймворка имеют свои уникальные особенности и преимущества, которые...
Инструменты для веб-скрапинга с открытым исходным кодом: Python Developer Toolkit
Инструменты для веб-скрапинга с открытым исходным кодом: Python Developer Toolkit
Веб-скрейпинг, как мы все знаем, это дисциплина, которая развивается с течением времени. Появляются все более сложные средства борьбы с ботами, а...
Калькулятор CGPA 12 для семестра
Калькулятор CGPA 12 для семестра
Чтобы запустить этот код и рассчитать CGPA, необходимо сохранить код как HTML-файл, а затем открыть его в веб-браузере. Для этого выполните следующие...
ONLBest Online HTML CSS JAVASCRIPT Training In INDIA 2023
ONLBest Online HTML CSS JAVASCRIPT Training In INDIA 2023
О тренинге HTML JavaScript :HTML (язык гипертекстовой разметки) и CSS (каскадные таблицы стилей) - две основные технологии для создания веб-страниц....
Как собрать/развернуть часть вашего приложения Angular
Как собрать/развернуть часть вашего приложения Angular
Вам когда-нибудь требовалось собрать/развернуть только часть вашего приложения Angular или, возможно, скрыть некоторые маршруты в определенных средах?
0
1
51
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий
library(dplyr) #version 1.1.0 and above
df %>% 
  mutate(Total = sum(across(col1:Col2, ~ n_distinct(.x) == 1)), .by = ID)

  ID col1 Col2 Total
1 AB    1    3     2
2 AB    1    3     2
3 CD    2    4     1
4 CD    2    3     1
5 EF    5   10     0
6 EF    1    1     0
7 GH    5   10     1
8 GH    1   10     1

Ниже 1.1.0:

df %>% 
  group_by(ID) %>% 
  mutate(Total = sum(across(col1:Col2, ~ n_distinct(.x) == 1))) %>% 
  ungroup()

Спасибо, но у меня ошибка "через" Должен использоваться внутри глаголов dplyr.

simon brocard 13.02.2023 13:52

Как отмечает Mael, вам необходимо убедиться, что у вас установлена ​​версия dplyr 1.1.0, иначе вы получите это сообщение об ошибке. Справку по обновлению dplyr см. здесь: sparkbyexamples.com/r-programming/install-and-update-r-packa‌​ges

Bowhaven 13.02.2023 14:16

Другие вопросы по теме