Applies ToRevolution Analytics

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 funktionenrxDataStep.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] <- NAmyDataF$y[ymiss] <- NA# Convert into a xdfmyDataNA<-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 missingtransVars <- mySum$Name[mySum$MissingObs > 0]print(transVars) #Test detected variables# create a function to replace NA vals with meanNAreplace <- 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

Behöver du mer hjälp?

Vill du ha fler alternativ?

Utforska prenumerationsförmåner, bläddra bland utbildningskurser, lär dig hur du skyddar din enhet med mera.

Communities hjälper dig att ställa och svara på frågor, ge feedback och få råd från experter med rika kunskaper.