如何比较两列?

问题描述 投票:0回答:0

假设我有一个这样的数据框。

yyyymm.  beta zerotrade beta_breakpoint zerotrade_breakpoint
197001    13.    27.        15.             25
197002.   11.    13.        17.             23

我需要比较 beta 和 beta_breakpoint,zerotrade 和 zerotrade_breakpoint。如果 beta 大于 beta_breakpoint,则创建一个名为“low”的新列,如果较小,则返回“high”。 我想要这样的输出。

yyyymm.  beta zerotrade beta_breakpoint zerotrade_breakpoint. beta_portfolio.  zerotrade_portfolio
197001    13.    27.        15.             25.                   low.            high
197002.   11.    13.        17.             23.                   low.            low

我试过这段代码,但没有用。假设我称数据框为“data2”。

data3 <- data2 %>%
  mutate(across(c(beta,zerotrade),~ case_when(.<=._breakpoint ~ "low",
                                               .>._breakpoint ~ "high")))
r dplyr case
© www.soinside.com 2019 - 2024. All rights reserved.