#r #datetime
#r #datetime
Вопрос:
Допустим, у меня есть два фрейма данных, подобных этому.
dateTime temp
1 10/25/2005 12:00:00 15.50
2 10/25/2005 1:00:00 15.49
3 10/25/2005 2:00:00 15.52
4 10/25/2005 3:00:00 15.50
5 10/25/2005 4:00:00 15.50
6 10/25/2005 5:00:00 15.46
dput(head(test_dataset_1))
structure(list(`Open Date` = c("10/31/2019 08:21", "10/31/2019 08:21",
"10/31/2019 08:21", "10/31/2019 08:21", "10/31/2019 08:21", "10/31/2019 08:21"
), `Close Date` = c(NA_character_, NA_character_, NA_character_,
NA_character_, NA_character_, NA_character_), Symbol = c(NA_character_,
NA_character_, NA_character_, NA_character_, NA_character_, NA_character_
), Action = c("Deposit", "Deposit", "Deposit", "Deposit", "Deposit",
"Deposit"), `Units/Lots` = c(0.01, 0.01, 0.01, 0.01, 0.01, 0.01
), `Open Price` = c(0, 0, 0, 0, 0, 0), `Close Price` = c(0, 0,
0, 0, 0, 0), Commission = c(0, 0, 0, 0, 0, 0), Swap = c(0, 0,
0, 0, 0, 0), Pips = c(0, 0, 0, 0, 0, 0), Profit = c(16000, 8000,
6000, 5000, 5000, 1617.55), Gain = c(0, 0, 0, 0, 0, 0), `Duration (DD:HH:MM:SS)` = c("00:00:00:00",
"00:00:00:00", "00:00:00:00", "00:00:00:00", "00:00:00:00", "00:00:00:00"
), `Profitable(%)` = c(NA_real_, NA_real_, NA_real_, NA_real_,
NA_real_, NA_real_), `Profitable(time duration)` = c(NA_character_,
NA_character_, NA_character_, NA_character_, NA_character_, NA_character_
), Drawdown = c(NA_real_, NA_real_, NA_real_, NA_real_, NA_real_,
NA_real_), `Risk:Reward` = c(NA_real_, NA_real_, NA_real_, NA_real_,
NA_real_, NA_real_), `Max(pips)` = c(NA_real_, NA_real_, NA_real_,
NA_real_, NA_real_, NA_real_), `Max(USD)` = c(NA_real_, NA_real_,
NA_real_, NA_real_, NA_real_, NA_real_), `Min(pips)` = c(NA_real_,
NA_real_, NA_real_, NA_real_, NA_real_, NA_real_), `Min(USD)` = c(NA_real_,
NA_real_, NA_real_, NA_real_, NA_real_, NA_real_), `Entry Accuracy(%)` = c(NA_real_,
NA_real_, NA_real_, NA_real_, NA_real_, NA_real_), `Exit Accuracy(%)` = c(NA_real_,
NA_real_, NA_real_, NA_real_, NA_real_, NA_real_), `ProfitMissed(pips)` = c(NA_real_,
NA_real_, NA_real_, NA_real_, NA_real_, NA_real_), `ProfitMissed(USD)` = c(NA_real_,
NA_real_, NA_real_, NA_real_, NA_real_, NA_real_)), row.names = c(NA,
-6L), class = c("tbl_df", "tbl", "data.frame"))
Как я могу извлечь столбцы с datetime и отформатировать их в DD-MM-YYYY HH:MM CET
Я попробовал что-то вроде:
t1<-test_dataset_1 %>% select(which(sapply(.,is.datetime)))
Комментарии:
1. можете ли вы добавить вывод
dput(head(your_data))
?2. хорошо, я добавил это сейчас
Ответ №1:
Как насчет этого:
library(lubridate)
is.mdy_hms <- function(x) all(!is.na(lubridate::mdy_hms(x, quiet = TRUE)))
test_dataset_1 <- purrr::modify_if(test_dataset_1, is.mdy_hms, mdy_hms)
обратите внимание, что теперь:
class(test_dataset_1$`Open Date`)
#> [1] "POSIXct" "POSIXt"