Я задал два вопроса о заполнении пропущенных данных:
(Ⅰ) 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.
Не могли бы вы научить меня, почему есть предупреждение и ошибка?