Robert Lelieveld Posted November 5, 2018 Share Posted November 5, 2018 Hi Tibco, I downloaded the template version 1.1 and replaced the data with my own data table. On 'The Data' tab, selecting a response and target value is fine. On 'Predictor Importance' tab, selecting a list of predictors and calculating their strength goes well. On 'Cat Predictor Correlations' tab, clicking on 'Measure Correlations' provides an error message. Also when I first select some predictors in the 'Act'-section (lower left). This is the message Spotfire provides: Could not execute function call. TIBCO Enterprise Runtime for R returned an error: 'Error in .pearson.x2(cross.classif, expected, yates = correct) : missing value where TRUE/FALSE needed eval(expr, envir, enclos) eval(expr, envir, enclos) withWarnings(apply(nameorder, 2, function(x, Data) withCallingHandlers(expr, warning = wHandler) apply(nameorder, 2, function(x, Data) FUN(X[], Data = Data[i.fac]) cv.test(a, b) chisq.test(x, y, correct = FALSE) .pearson.x2(cross.classif, expected, yates = correct)'. at Spotfire.Dxp.Data.DataFunctions.Executors.LocalFunctionClient.OnExecuting() at Spotfire.Dxp.Data.DataFunctions.Executors.AbstractFunctionClient.d__31.MoveNext() at Spotfire.Dxp.Data.DataFunctions.Executors.SPlusFunctionExecutor.d__12.MoveNext() at Spotfire.Dxp.Data.DataFunctions.DataFunctionExecutorService.d__3.MoveNext()When executing this using the original data, all is fine. So I guess there is something in my data. Where should I look to fix this Thank you. Kind regards, Robert Lelieveld Link to comment Share on other sites More sharing options...
Colin Gray 3 Posted January 20, 2020 Share Posted January 20, 2020 Hi, I realise this is an old post but in case anyone else hits this issue, the script below fixes the issue. The issue is caused when you have too many NA's in your data. I added checks into the Cramer script to solve this. So please replace the Cramer data function code to be: # Author: Ana Costa e Silva, 21st April 2017 # Updated: Colin Gray Jan 2020 to add checks into chi sq test for NAs # Input: # - Data is table with categorical variables for which we want to compute VCramer correlations as a measure of association # Output # - VCramerOut is a table with the correlations of every column in Data that has at least two different values # - resWarningis a string with any warnings produced by the test, namely when data sizes are small for some category combinations #------- For debugging ----------------------------------------------------------------------------------------------------------------- TimeStamp=paste(date(),Sys.timezone()) datafun='[TERR] VCramer' # change this accordingly tdir = 'C:/Demo' # place to store diagnostics if it exists (otherwise do nothing) #if(file.exists(tdir) && file.info(tdir)$isdir) suppressWarnings(try(save(list=ls(), file=paste(tdir,'/data VCramer.RData',sep=''), RFormat=T ))) # In your interactive R session, run the following code to load up the saved # remove(list=ls()); load(file='C:/Demo/data VCramer.RData'); print(datafun); print(TimeStamp) #------- Begin function definitions --------------------------------------------------------------------------------------------------- # Applies the test to pairs of columns cv.test = function(x,y) { CV = sqrt(chisq.test(x, y, correct=FALSE)$statistic / (length(x) * (min(length(unique(x)),length(unique(y))) - 1))) #print.noquote("Cramr V / Phi:") return(as.numeric(CV)) } # Captures warnings withWarnings Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now