如何在R中跨2个不同的数据帧在dplyr中操作数据。

问题描述 投票:0回答:1
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)))

我需要df2在这样的操作中遵循df1的标准,我该怎么做?

r dataframe variables dplyr conditional-statements
1个回答
1
投票

根据你的具体任务,你可以定义一个函数,然后使用 df1df2 作为论据。

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)
© www.soinside.com 2019 - 2024. All rights reserved.