Andrea Dalla Rosa
Andrea Dalla Rosa

Reputation: 11

How to manipulate data in dplyr across 2 different data frames in R

df1 %>% 
  group_by(reporter, year) %>% 
  summarize(TI = sum(trade_value_usd[df1 != "World"], na.rm = T) / sum(trade_value_usd[df1$partner == "World"], na.rm = T) / 
              (sum(df2$trade_value_usd) / sum(df3$trade_value_usd)))

I need df2 to follow same df1 criteria in such operations, how can I do ?

Upvotes: 0

Views: 31

Answers (1)

Martin Gal
Martin Gal

Reputation: 16998

Depending on your exact task, you could define a function and use df1 and df2 as arguments:

manipulator <- function(data) {
  output <- data %>%
              group_by(reporter, year) %>% 
              summarize(TI = sum(trade_value_usd[data != "World"], na.rm = T) / sum(trade_value_usd[data$partner == "World"], na.rm = T) / 
                (sum(df2$trade_value_usd) / sum(df3$trade_value_usd))) 
  return(output) # or print or something else 
}

manipulator(df1)
manipulator(df2)

Upvotes: 1

Related Questions