[R] replace character by numeric value
arnaud gaboury
@rn@ud@g@boury @end|ng |rom gm@||@com
Wed Sep 27 13:01:08 CEST 2023
I have two data.frames:
mydf1 <- structure(list(symbol = "ETHUSDT", cummulative_quote_qty =
1999.9122, side = "BUY", time = structure(1695656875.805, tzone = "", class
= c("POSIXct", "POSIXt"))), row.names = c(NA, -1L), class = c("data.table",
"data.frame"))
mydf2 <- structure(list(symbol = c("ETHUSDT", "ETHUSDT", "ETHUSDT"),
cummulative_quote_qty = c(1999.119408,
0, 2999.890985), side = c("SELL", "BUY", "BUY"), time =
structure(c(1695712848.487,
1695744226.993, 1695744509.082), class = c("POSIXct", "POSIXt"
), tzone = "")), row.names = c(NA, -3L), class = c("data.table",
"data.frame"))
I use this line to replace 'BUY' by numeric 1 and 'SELL' by numeric -1 in
mydf1 and mydf2:
mynewdf <- mydf |> dplyr::mutate(side = ifelse(side == 'BUY', 1,
ifelse(side == 'SELL', -1, side)))
This does the job but I am left with an issue: 1 and -1 are characters for
mynewdf2 when it is numeric for mynewdf1. The result I am expecting is
getting numeric values.
I can't solve this issue (using as.numeric(1) doesn't work) and don't
understand why I am left with num for mynewdf1 and characters for mynewdf2.
> mynewdf1 <- mydf1 |> dplyr::mutate(side = ifelse(side == 'BUY', 1,
ifelse(side == 'SELL', -1, side)))
> str(mynewdf1)
Classes ‘data.table’ and 'data.frame': 1 obs. of 4 variables:
$ symbol : chr "ETHUSDT"
$ cummulative_quote_qty: num 2000
$ side : num 1 <<<------
$ time : POSIXct, format: "2023-09-25 17:47:55"
- attr(*, ".internal.selfref")=<externalptr>
> mynewdf2 <- mydf2 |> dplyr::mutate(side = ifelse(side == 'BUY', 1,
ifelse(side == 'SELL', -1, side)))
> str(mynewdf2)
Classes ‘data.table’ and 'data.frame': 3 obs. of 4 variables:
$ symbol : chr "ETHUSDT" "ETHUSDT" "ETHUSDT"
$ cummulative_quote_qty: num 1999 0 3000
$ side : chr "-1" "1" "1" <<<------
$ time : POSIXct, format: "2023-09-26 09:20:48"
"2023-09-26 18:03:46" "2023-09-26 18:08:29"
- attr(*, ".internal.selfref")=<externalptr>
Thank you for help
[[alternative HTML version deleted]]
More information about the R-help
mailing list