För att ersätta alla NA värden som noll eller annat innehåll är det nödvändigt att transformera data från en datamängd som indata till en uppsättning för utgående data med hjälp av funktionen
rxDataStep. Ett exempelskript för att ersätta alla NA i xdf filen "AirlineDemoSmall.xdf" visas nedan:# 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