У меня есть вопрос о проблеме с моим анализом данных. У меня есть большой набор данных с оценками тональности для каждого дня недели, но я хочу добавить выходные к пятницам. Это по той причине, что я могу делать прогнозы акций на понедельник. Моя идея заключалась в том, чтобы дать им одну и ту же дату, а затем я ежедневно собираю их. Пример соответствующей части моего вывода данных:
Год: 01.01.2019 02.01.2019 03.01.2019 04.01.2019 05.01.2019 06.01.2019 07.01.2019 День недели UTC: 1 2 3 4 5 6 7
поэтому цель состоит в том, чтобы даты 7 (суббота) и 1 (воскресенье) были равны датам 6 (пятница)
Я попробовал пару кодов, чтобы понять это:
1)
ifelse(Brexit_data$weekday == '7', as.POSIXct(Brexit_data$year - as.difftime(1, units = "days")), as.POSIXct(Brexit_data$year - as.difftime(0, units = "days")))`
ifelse(Brexit_data$weekday == '7', as.date(Brexit_data$year) -1, as.date(Brexit_data$year))
Оба возвращали другой тип структуры дат, например:
[1] 1549065600 1549065600 1549065600 1549065600 1549065600 1549065600 1549065600 1549065600 1549065600 1549065600 1549065600 1549065600 1549065600 1549065600
2)
Brexit_data$year <- Brexit_data$year[Brexit_data$weekday == '7'] - as.difftime(1, units = "days")
Brexit_data$year <- Brexit_data$year[Brexit_data$weekday == '7'] -1
Что вернуло следующее: Ошибка в $<-.data.frame
(*tmp*
, год, значение = c(1556755200, 1556755200,: замена имеет 4206 строк, данные имеют 29299*
Таким образом, он не может по какой-то причине не изменять переменные с учетом условия.
Переполнение стека всегда было для меня источником помощи в поиске решений. Надеюсь, кто-то может помочь мне с этой проблемой. Мне бы очень помог!
ifelse
отбрасывает класс, поэтому, если вы хотите, чтобы результат былPOSIXct
, вам нужно преобразовать вне отifelse
. Из-за этого эта часть вашего вопроса повторяется. (2) У вас есть несколько вопросов, пожалуйста, не делайте этого. (3) Ваша вторая проблема очевидна в некотором смысле: вы подмножаете справа, но не слева от задания. Добавьте[...]
к..$year[...] <-
слева. - person r2evans   schedule 12.03.2020