优化data("airquality") solar.R <- airquality$Solar.R Solar.R1 <- rep(0,length(solar.R)) for (i in 1:length(Solar.R1)) { Solar.R2 <- Solar.R[i:(i-1)] if(!is.na(solar.R[i])){ Solar.R1[i] <- solar.R[i] }else{ Solar.R1[i] <- mean(solar.R[is.na(solar.R[1:(i-1)])]) } }
时间: 2023-04-12 14:01:45 浏览: 120
59dd40aa_www.334949-com_AirQuality_STM32F103_59dd_LCD_
这段代码的作用是将 airquality 数据集中的 Solar.R 列中的缺失值替换为前面所有非缺失值的平均值,并将结果存储在 Solar.R1 中。优化的方法可以是使用 apply 函数代替 for 循环,如下所示:
Solar.R1 <- apply(X = airquality$Solar.R, MARGIN = 1, FUN = function(x) {
x[is.na(x)] <- mean(x, na.rm = TRUE)
return(x)
})
阅读全文