Tengo el siguiente marco de datos
Y quiero reemplazar los NA "s con este vector (excepto que es de clase numérico para mí, pero lo cambié a as.character () y aún obtuve el mismo error)
L8Replace <- c("0.56","0.57","0.87",0.81")
Yo he tratado
mydata[is.na(mydata$Freq2),] <- L8replace
Pero conseguir
Error in as.Date.numeric(value) : "origin" must be supplied
Entiendo por qué R está confundido, pero no sé cómo solucionarlo
Para su uso, esto es lo que obtengo cuando pongo mis datos a través de dput:
mydata <- structure(list(Freq2 = structure(c(0.42, 0.6, 0.43, NA, NA, NA,
NA, NA), .Names = c("2015-04-16", "2015-04-21", "2015-04-26",
"", "", "", "", "")), myDate = structure(c(16541, 16546, 16551,
16627, 16643, 16659, 16675, 16691), class = "Date"), numDays = structure(c(0,
5, 10, 86, 102, 118, 134, 150), class = "difftime", units = "days")), .Names = c("Freq2",
"myDate", "numDays"), row.names = c("2015-04-16", "2015-04-21",
"2015-04-26", "7", "8", "9", "10", "11"), class = "data.frame")
Respuestas
0 para la respuesta № 1Necesitamos reemplazar la columna específica
mydata$Freq2[is.na(mydata$Freq2)] <- L8Replace
mydata
# Freq2 myDate numDays
#2015-04-16 0.42 2015-04-16 0 days
#2015-04-21 0.60 2015-04-21 5 days
#2015-04-26 0.43 2015-04-26 10 days
#7 0.56 2015-07-11 86 days
#8 0.57 2015-07-27 102 days
#9 0.87 2015-08-12 118 days
#10 0.81 2015-08-28 134 days
#11 0.00 2015-09-13 150 days
También el length
de "L8Replace" debe coincidir con el número de NA en "Freq2"
datos
L8Replace <- c(0.56, 0.57, 0.87,0.81, 0)