Предупреждение и ошибка при «заполнении пропущенных данных» в R - PullRequest
0 голосов
/ 15 ноября 2018

Я задал два вопроса о заполнении пропущенных данных:

(Ⅰ) Question_one (Ⅱ) Question_two

Это почти успешно, когда яследуйте советам, но при этом у вас есть одно предупреждение и одна ошибка.

Я использую приведенные ниже коды для импорта данных из Excel.(Вы можете загрузить этот файл в на этом сайте Google Диска ):

#read form clipborad, which is copied in "Example_a.xlsx"
# read dt_A
dt_A <- read.delim("clipboard",header=TRUE)
# read dt_B
dt_B <- read.delim("clipboard",header=TRUE)

Затем я изменяю символ в формате «Дата»:

#Change "Date" to date format
as.POSIXct(dt_A$Date, format="%m/%d/%Y %H:%M")
as.POSIXct(dt_B$Date, format="%m/%d/%Y %H:%M")

Однако, когда я использую «complete» (рекомендуется AntoniosK), чтобы заполнить пропущенную дату, появляется предупреждение.

library(tidyverse)
# complete dates of data B using dates of data A
df <- dt_B %>% complete(Date = dt_A[1])

Предупреждение:

Warning message:
Column `Date` joining factors with different levels, coercing to character vector  

Однако, df, кажется, соответствуетожидание (рис.1).Затем я игнорирую это предупреждение и использую коды, рекомендованные Джеем Ачаром:

library(dplyr)
library(lubridate)

df %>% 
  mutate(B_Value = ifelse(is.na(B_Value),
                         lag(B_Value, 1) + (lead(B_Value, 1) - lag(B_Value, 1)) *
                           as.numeric(difftime(Date, lag(Date, 1))) / 
                           as.numeric((difftime(lead(Date, 1), Date) + difftime(Date, lag(Date, 1)))),
                         B_Value)) %>% 
  mutate(B_Value = round(B_Value, 2))

Возникает ошибка:

Error in mutate_impl(.data, dots) : 
  Evaluation error: character string is not in a standard unambiguous format.

Не могли бы вы научить меня, почему есть предупреждение и ошибка?

Fig-1

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...