【发布时间】:2021-11-22 12:50:51
【问题描述】:
很好,我正在尝试在 R 中制作过滤器,但结果与预期不符
x1 = c("PIB","PIB","PIB","PIB","PIB")
x2 = c("IBR","IBR","IBR","IBR","IBR")
coef_x1 = c(0.001,0.004,0.002,-0.099,-0.88)
coef_x2 = c(0.12,0.15,-0.99,-0.77,0.45)
Signo_x1 = c("+","+","+","+","+")
Signo_x2 = c("+","+","+","+","+")
Table = data.frame(x1,x2,coef_x1,coef_x2,Signo_x1,Signo_x2)
这是我的桌子
x1 x2 coef_x1 coef_x2 Signo_x1 Signo_x2
1 PIB IBR 0.001 0.12 + +
2 PIB IBR 0.004 0.15 + +
3 PIB IBR 0.002 -0.99 + +
4 PIB IBR -0.099 -0.77 + +
5 PIB IBR -0.880 0.45 + +
我需要按如下方式进行过滤
x1 x2 coef_x1 coef_x2 Signo_x1 Signo_x2
1 PIB IBR 0.001 0.12 + +
2 PIB IBR 0.004 0.15 + +
3 PIB IBR 0.002 -0.99 + +
对于过滤器,我正在执行以下代码:
在此更新
Table = ifelse(Table$Signo_x1 == "+",Table %>% dplyr::filter(Table$coef_x1 >= 0),Table %>% dplyr::filter(Table$coef_x1 <= 0))
[[1]]
[1] "PIB" "PIB" "PIB"
[[2]]
[1] "IBR" "IBR" "IBR"
[[3]]
[1] 0.001 0.004 0.002
[[4]]
[1] 0.12 0.15 -0.99
[[5]]
[1] "+" "+" "+"
任何人都知道如何将其转换回数据帧,或者如果我使用的代码不正确,我该如何解决?
【问题讨论】:
标签: r dataframe if-statement