Суммирование значений столбцов для (и только для) удаленных перевернутых дубликатов с их неудаленными перевернутыми оригиналами с помощью R
У меня есть набор данных, содержащий случаи преступлений, каждый из которых имеет местоположение (wardId), тип преступления (Primary.Type) и дату. Конечная цель состоит в том, чтобы превратить это в сеть с Primary.Type в качестве узлов, а веса их ребер зависят от того, сколько раз они совместно используют уникальную комбинацию Primary.Type и Ward.Date (два типа преступлений, которые происходят в одна и та же палата в день являются соединением, вес которого определяется количеством раз, когда это сочетание произошло в этот день).
После слияния в Ward.Date, wardId и DateI имеют список краев, содержащий Ward.Date («wardId yyyy-mm-dd»), Primary.Type.x («строка»), Primary.Type.y («строка»), Вес (числовой). Primary.Types были получены в результате слияния дублированной таблицы для создания списка краев, поэтому существуют обратные дубликаты.
С нетерпением ждем ваших предложений!
1 ответ
Вы можете сортировать значения в столбцах
Primary.Type.x
а также
Primary.Type.y
а также
summarise
данные с
sum
из
Weight
.
library(dplyr)
edgelist.primary.wards %>%
group_by(Ward.Date,
Type1 = pmin(Primary.Type.x, Primary.Type.y),
Type2 = pmax(Primary.Type.x, Primary.Type.y)) %>%
summarise(Weight = sum(Weight, na.rm = TRUE)) -> result
result
Это также может быть записано в базе R как:
aggregate(Weight~Ward.Date + Type1 + Type2, transform(edgelist.primary.wards,
Type1 = pmin(Primary.Type.x, Primary.Type.y),
Type2 = pmax(Primary.Type.x, Primary.Type.y)), sum, na.rm = TRUE)