За замяна на всички NA стойности на нула или друго съдържание е необходимо за преобразуване на данни от входните данни функцията набор от изходни данни
rxDataStep. Примерен скрипт за замяна на всички NA в xdf файл "AirlineDemoSmall.xdf" е показано по-долу:# 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