Untuk mengganti semua NA nilai nol atau konten lainnya diperlukan untuk mengubah data dari kumpulan data input output set data yang menggunakan fungsi
rxDataStep.
Contoh skrip untuk menggantikan semua NA xdf file "AirlineDemoSmall.xdf" ditunjukkan di bawah ini:
# Create a data frame with missing valuesset.seed(17)
myDataF <- data.frame(x = rnorm(100), y = runif(100), z = rgamma(100, shape = 2))
xmiss <- seq.int(from = 5, to = 100, by = 5)
ymiss <- seq.int(from = 2, to = 100, by = 5)
myDataF$x[xmiss] <- NA
myDataF$y[ymiss] <- NA
# Convert into a xdf
myDataNA<-file.path(getwd(),"myDataNA.xdf")
trsfxdf<-rxDataStep(inData=myDataF,outFile=myDataNA,overwrite=TRUE)
writeLines("\n\nXdf Generated with random NA values")
print(rxGetInfo(myDataF, n = 15)$data) # Test ouput data
##
## Use from here if there is an existing xdf.
## replace myDataNA with your xdf file
##
writeLines("\n\nVariables that contains NA values (Missing Observations)")
(mySum <- rxSummary(~., data = myDataNA)$sDataFrame)
# Find variables that are missing
transVars <- mySum$Name[mySum$MissingObs > 0]
print(transVars) #Test detected variables
# create a function to replace NA vals with mean
NAreplace <- function(dataList) {
replaceFun <- function(x) {
x[is.na(x)] <- replaceValue
return(x)
}
dataList <- lapply(dataList, replaceFun)
return(dataList)
}
#
myDataRMV<-file.path(getwd(),"myDataRMV.xdf") # Replace Missing Value
trsfxdf<- rxDataStep(inData = myData1, outFile = myDataRMV,
transformFunc = NAreplace,
transformVars = transVars,
transformObjects = list(replaceValue = "REPLACED MISSING VALUE"),
overwrite=TRUE)
writeLines("\n\nTransformed xdf with NA replaced by Value")
print(rxGetInfo(myDataRMV, n=15)$data) # Test output data