Если мы хотим удалить дубликаты из кадра данных df
, нам нужно просто написать df[!duplicated(df),]
, и дубликаты будут удалены из него. У меня есть следующий фрейм данных:
df <- data.frame(from = c("z","y","z","w","y"), to=c("x","w","x","z","w"), weight=c(2,1,3,5,6))
Я хотел бы получить что-то другое. В df[,1:2]
первая и третья строки равны между ними, и я хотел бы: 1) удалить одну из них; 2) суммируйте соответствующие значения веса. Например, для этого примера ожидаемый результат:
from to weight
z x 5
y w 7
w z 5
В любом случае, если я использую:
df2=df[,1:2]
which(duplicated(df2) | duplicated(df2[nrow(df2):1, ])[nrow(df2):1])
, я получаю
[1] 1 2 3 5
, что не позволяет мне чтобы получить желаемый результат (например, 1 и 3 равны между ними, 2 и 5 равны между ними, но эта информация не содержится в последнем результате).