Agregado con respecto a la condición.
Me enfrento al siguiente problema. Tengo un conjunto de datos que simplifico de la siguiente manera:
df <- tibble(ID_1=c("a","a","a","a","a","b","b","b","b"), ID_2=c("a","b","c","d","e","b","a","c","d"), other= c(1, "bu", 34, 3, 5, 6, "jud", 82, 9), exchange=c(1, 13, 34, 3, 5, 6, 8, 82, 9), goods=c("wood","wood","wood","wood","wood","steel","steel","steel","steel"))
df
Tenemos intercambios entre varios países que tienen diferentes ID. Quiero sumar todos los intercambios entre el país A y el país B. Entre el país A y el país C. etc. los bienes intercambiados.
Es decir, al final me gustaría tener:
ID_1 // ID_2 // Sum_exchangeAB
ID_1 // ID_3 // Sum_exchangeBC
....
ID_n // ID_n // Sum_exchangenn
¿Cómo puedo hacerlo en Dplyr? Intenté agrupar por (ID_1, ID_2) y luego agregar, o resumir.
Por ejemplo, intenté lo siguiente:
dataset2 %>% group_by(ID_1, ID_2, exchange) %>% summarise(dataset2, sum_of_exchange=sum(exchange))
Pero esto me da la suma de todos los intercambios (es decir, devuelve un solo valor). No la suma de intercambio entre dos países.
¡Gracias por su ayuda, muy apreciada!
davy.ai
Para obtener la suma de intercambios entre dos países, se puede agrupar por la combinación de ID_1 e ID_2, y luego usar la función
sum
para calcular la suma de la columna de intercambio. Aquí hay un ejemplo:“`{r}
library(dplyr)
df %>%
group_by(ID_1, ID_2) %>%
summarise(Sum_exchangeAB = sum(exchange))
Esto le dará una tabla donde cada fila representa la suma de intercambios entre dos países, con todos los pares de países incluidos.