jeudi 30 septembre 2021

ifelse doesn't work when applying filter on r

Good I am trying to make a filter in R but the result is not as expected

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)

that's the table I have

   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        +        +

I need to perform a filter as follows

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        +        +

for the filter I am executing the following code:

updated here

 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] "+" "+" "+"

anyone has the knowledge of how to convert it back as a dataframe or if the code i am using is not correct how could i fix it?

Aucun commentaire:

Enregistrer un commentaire