Ebert,Timothy Aaron
2022-Jan-27 16:12 UTC
[R] Error in if (fraction <= 1) { : missing value where TRUE/FALSE needed
One could use the microbenchmark package to compare which approach is faster, assuming the dataset is large enough that the outcome will make a measurable difference. -----Original Message----- From: R-help <r-help-bounces at r-project.org> On Behalf Of Bert Gunter Sent: Thursday, January 27, 2022 10:44 AM To: PIKAL Petr <petr.pikal at precheza.cz> Cc: R-help <r-help at r-project.org> Subject: Re: [R] Error in if (fraction <= 1) { : missing value where TRUE/FALSE needed [External Email] This will not help solve the issue, but perhaps it is worth pointing out that the idiom, prot <- ifelse(test$operator == 'T13', 1, 0) is perhaps more simply coded as prot <- test$operator == 'T13' This will give a logical, TRUE/FALSE, instead of 1/0, but I doubt that a numeric is needed anyway. However, as.numeric() would of course do such a conversion, in which case the original ifelse might as well be used. Bert Gunter "The trouble with having an open mind is that people keep coming along and sticking things into it." -- Opus (aka Berkeley Breathed in his "Bloom County" comic strip ) On Wed, Jan 26, 2022 at 11:39 PM PIKAL Petr <petr.pikal at precheza.cz> wrote:> > Hi > > Actually you did not. Your original question was: > > > Error in if (fraction <= 1) { : missing value where TRUE/FALSE > > needed I used this: > > var <- ifelse(test$operator == 'T14', 1, 0) operator has several > > values like T1, T3, T7, T15, T31, T37 For some values like T3, T7 it > > works fine but for majority of values it gives error. > > When I use: is.na(ts$operator), it shows all false values so no NAs. > > Only now we could inspect your whole code and it was already pointed > that the error does not originate from ifelse. > > With the same data and ifelse code I did not get any error. > > test <- structure(list(DepthTree = c(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, > 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, > 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, <snip> > > > str(test) > 'data.frame': 146 obs. of 15 variables: > $ DepthTree : num 1 1 1 1 1 1 1 1 1 1 ... > <snip> > $ numCovered : num 0 0 0 0 0 0 0 0 0 0 ... > $ operator : Factor w/ 16 levels "T0","T1","T2",..: 4 4 7 8 8 8 11 4 10 7 > ... > $ methodReturn : Factor w/ 22 levels "I","V","Z","method",..: 2 2 2 2 > 2 2 2 4 > 4 2 ... > $ numTestsCover: num 16 15 15 16 15 15 15 4 4 16 ... > $ mutantAssert : num 55 55 55 55 55 55 55 13 13 55 ... > $ classAssert : num 3 3 3 3 3 3 3 3 3 3 ... > $ isKilled : Factor w/ 2 levels "yes","no": 2 2 2 2 2 2 2 2 2 2 ... > > > prot <- ifelse(test$operator == 'T13', 1, 0) > > the most probable source of the error is > > fc= fairness_check(explainer, > protected = prot, > privileged = privileged) > > so you should check explainer and privileged > > Cheers > Petr > > From: javed khan <javedbtk111 at gmail.com> > Sent: Wednesday, January 26, 2022 3:45 PM > To: PIKAL Petr <petr.pikal at precheza.cz> > Cc: R-help <r-help at r-project.org> > Subject: Re: [R] Error in if (fraction <= 1) { : missing value where > TRUE/FALSE needed > > Hi Pikal, why would I hide something? I provided just a code where error is. > > Full code is: > > index= sample(1:nrow(data), 0.7*nrow(data)) train= data[index,] test= > data[-index,] > > > task = TaskClassif$new("data", backend = train, target = "isKilled") > > learner= lrn("classif.gbm", predict_type = "prob") > > model= learner$train(task ) > > explainer = explain_mlr3(model, > data = test[,-15], > y = as.numeric(test$isKilled)-1, > label="GBM") > > prot <- ifelse(test$operator == 'T13', 1, 0) privileged <- '1' > > fc= fairness_check(explainer, > protected = prot, > privileged = privileged) > plot(fc) > > > And my data is the following: > > str(test) > 'data.frame': 146 obs. of 15 variables: > $ DepthTree : num 1 1 1 1 1 1 1 1 1 1 ... > $ NumSubclass : num 0 0 0 0 0 0 0 0 0 0 ... > $ McCabe : num 1 3 3 3 3 3 3 1 1 2 ... > $ LOC : num 3 10 10 10 10 10 10 4 4 5 ... > $ DepthNested : num 1 2 2 2 2 2 2 1 1 2 ... > $ CA : num 1 1 1 1 1 1 1 1 1 1 ... > $ CE : num 2 2 2 2 2 2 2 2 2 2 ... > $ Instability : num 0.667 0.667 0.667 0.667 0.667 0.667 0.667 0.667 > 0.667 > 0.667 ... > $ numCovered : num 0 0 0 0 0 0 0 0 0 0 ... > $ operator : Factor w/ 16 levels "T0","T1","T2",..: 4 4 7 8 8 8 11 4 10 7 > ... > $ methodReturn : Factor w/ 22 levels "I","V","Z","method",..: 2 2 2 2 > 2 2 2 4 > 4 2 ... > $ numTestsCover: num 16 15 15 16 15 15 15 4 4 16 ... > $ mutantAssert : num 55 55 55 55 55 55 55 13 13 55 ... > $ classAssert : num 3 3 3 3 3 3 3 3 3 3 ... > $ isKilled : Factor w/ 2 levels "yes","no": 2 2 2 2 2 2 2 2 2 2 ... > > dput(test) > structure(list(DepthTree = c(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, > 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, > 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, > 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, > 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, > 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, > 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 2, 1, 1, 1), NumSubclass = c(0, > 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, > 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, > 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, > 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, > 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, > 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, > 0, 0, 0, 0, 0, 0, 2), McCabe = c(1, 3, 3, 3, 3, 3, 3, 1, 1, 2, 3, 3, > 3, 3, 3, 3, 3, 3, 2, 2, 1, 1, 1, 2, 2, 2, 1, 4, 4, 4, 4, 4, 4, 4, 4, > 4, 4, 5, 5, 5, 5, 5, 5, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, 5, 5, > 5, 5, 5, 5, 5, 2, 2, 2, 2, 5, 5, 5, 5, 5, 5, 1, 5, 5, 5, 5, 5, 5, 5, > 5, 5, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, > 1, 1, 1, 1, 2, 2, 1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 1, 4, 1, 1, 1, 1, > 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1), LOC = c(3, > 10, 10, 10, 10, 10, 10, 4, 4, 5, 22, 22, 22, 22, 22, 22, 22, 22, 3, 3, > 3, 3, 3, 8, 8, 8, 4, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 16, 16, > 16, 16, 16, 16, 8, 8, 8, 8, 8, 8, 16, 16, 16, 16, 16, 16, 20, 20, 20, > 20, 20, 20, 20, 20, 7, 7, 7, 7, 18, 18, 18, 18, 18, 18, 3, 15, 15, 15, > 15, 15, 15, 15, 15, 15, 6, 15, 15, 15, 15, 15, 15, 15, 15, 15, 9, 9, > 9, 9, 9, 9, 4, 4, 3, 3, 3, 3, 3, 4, 4, 6, 6, 5, 5, 5, 8, 8, 8, 3, 3, > 3, 3, 3, 3, 7, 3, 3, 3, 3, 15, 15, 15, 15, 15, 15, 15, 15, 3, 3, 3, 3, > 4, 4, 8, 4, 4, 4, 3), DepthNested = c(1, 2, 2, 2, 2, 2, 2, 1, 1, 2, 4, > 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 2, 2, 2, 1, 3, 3, 3, 3, 3, 3, 3, > 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, > 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 3, 3, 3, 3, 3, 3, > 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, > 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, > 1, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1), CA = c(1, > 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, > 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, > 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, > 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, > 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, > 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, > 1, 1, 2, 1, 2, 2, 1), CE = c(2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, > 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, > 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, > 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, > 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, > 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, > 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 0, 2, 0, 0, 2), Instability = > c(0.667, 0.667, 0.667, 0.667, 0.667, 0.667, 0.667, 0.667, 0.667, > 0.667, 0.667, 0.667, 0.667, 0.667, 0.667, 0.667, 0.667, 0.667, 0.667, > 0.667, 0.667, 0.667, 0.667, 0.667, 0.667, 0.667, 0.667, 0.667, 0.667, > 0.667, 0.667, 0.667, 0.667, 0.667, 0.667, 0.667, 0.667, 0.667, 0.667, > 0.667, 0.667, 0.667, 0.667, 0.667, 0.667, 0.667, 0.667, 0.667, 0.667, > 0.667, 0.667, 0.667, 0.667, 0.667, 0.667, 0, 0, 0, 0, 0, 0, 0, 0, 0, > 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, > 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.667, 0.667, > 0.667, 0.667, 0.667, 0.667, 0.667, 0.667, 0.667, 0.667, 0.667, 0.667, > 0.667, 0.667, 0.667, 0.667, 0.667, 0.667, 0.667, 0, 0, 0, 0, 0, 0, 0, > 0, 0, 0, 0.667, 0.667, 0.667, 0.667, 0.667, 0.667, 0, 0.667, 0, 0, > 0.667), numCovered = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, > 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, > 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 150, 54, 54, 123, 54, > 54, 123, 54, 189, 189, 189, 138, 33, 18, 27, 27, 18, 27, 15, 54, 54, > 150, 150, 54, 150, 150, 54, 150, 66, 60, 12, 60, 15, 45, 72, 12, 12, > 45, 255, 255, 255, 255, 129, 129, 0, 0, 6, 6, 6, 6, 303, 0, 0, 0, 0, > 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 21, 12, 12, 12, 12, > 12, 12, 12, 12, 48, 1557, 9, 12, 0, 0, 141, 0, 21, 21, 21), operator = > structure(c(4L, 4L, 7L, 8L, 8L, 8L, 11L, 4L, 10L, 7L, 4L, 7L, 8L, 8L, > 8L, 9L, 9L, 11L, 7L, 8L, 2L, 8L, 8L, 7L, 8L, 10L, 11L, 1L, 2L, 2L, 4L, > 8L, 8L, 8L, 8L, 10L, 12L, 4L, 6L, 6L, 8L, 8L, 8L, 7L, 7L, 8L, 8L, 9L, > 9L, 1L, 4L, 6L, 8L, 8L, 8L, 1L, 1L, 7L, 7L, 7L, 8L, 8L, 13L, 7L, 8L, > 9L, 9L, 1L, 1L, 2L, 7L, 8L, 10L, 10L, 4L, 7L, 7L, 7L, 8L, 8L, 8L, 9L, > 9L, 10L, 1L, 8L, 8L, 8L, 8L, 10L, 11L, 11L, 11L, 6L, 7L, 8L, 9L, 9L, > 10L, 6L, 10L, 1L, 4L, 7L, 10L, 6L, 7L, 13L, 7L, 13L, 7L, 8L, 9L, 4L, > 6L, 9L, 8L, 10L, 8L, 10L, 8L, 10L, 9L, 8L, 10L, 13L, 10L, 2L, 7L, 7L, > 8L, 8L, 9L, 11L, 11L, 10L, 10L, 13L, 13L, 8L, 8L, 9L, 4L, 6L, 10L, > 10L), .Label = c("T0", "T1", "T2", "T3", "T4", "T5", "T6", "T7", "T8", > "T9", "T10", "T11", "T12", "T13", "T14", "T15"), class = "factor"), > methodReturn = structure(c(2L, 2L, 2L, 2L, 2L, 2L, 2L, 4L, 4L, 2L, 2L, > 2L, 2L, 2L, 2L, 2L, 2L, 2L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, > 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, > 2L, 2L, 2L, 2L, 4L, 4L, 4L, 4L, 4L, 4L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, > 2L, 2L, 2L, 2L, 2L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 1L, 1L, 1L, 1L, 1L, > 1L, 1L, 1L, 1L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 1L, 1L, 1L, > 1L, 3L, 3L, 1L, 1L, 3L, 3L, 3L, 3L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, > 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 2L, 4L, 4L, 4L, 4L, > 4L, 4L, 4L, 4L, 4L, 3L, 3L, 2L, 2L, 4L, 4L, 1L, 3L, 1L, 1L, 4L), > .Label = c("I", "V", "Z", "method", "D", "[D", "[[D", "J", "[I", "C", > "[J", "[C", "[S", "F", "[F", "[B", "S", "B", "[Z", "[[S", "[[B", > "[[Z"), class = "factor"), numTestsCover = c(16, 15, 15, 16, 15, 15, > 15, 4, 4, 16, 16, 16, 15, 15, 15, 16, 16, 15, 3, 3, 2, 2, 2, 16, 11, > 16, 4, 16, 16, 3, 16, 16, 4, 16, 16, 16, 16, 2, 3, 2, 1, 4, 1, 16, 15, > 16, 15, 16, 16, 2, 2, 2, 3, 2, 2, 4, 5, 5, 4, 5, 5, 4, 5, 4, 4, 4, 4, > 4, 3, 4, 4, 3, 4, 4, 5, 5, 4, 4, 5, 4, 4, 5, 4, 4, 4, 3, 4, 4, 4, 4, > 3, 3, 4, 4, 4, 4, 4, 6, 6, 0, 0, 2, 2, 2, 2, 7, 17, 17, 15, 15, 15, > 15, 15, 16, 16, 16, 16, 15, 16, 16, 15, 17, 17, 16, 16, 5, 4, 4, 4, 4, > 4, 4, 4, 4, 4, 16, 16, 3, 4, 0, 0, 5, 0, 4, 4, 1), mutantAssert = > c(55, 55, 55, 55, 55, 55, 55, 13, 13, 55, 55, 55, 55, 55, 55, 55, 55, > 55, 9, 9, 9, 9, 9, 55, 41, 55, 13, 55, 55, 5, 55, 55, 13, 55, 55, 55, > 55, 8, 13, 8, 4, 13, 4, 55, 55, 55, 55, 55, 55, 9, 9, 9, 9, 9, 8, 9, > 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 6, 9, 9, 6, 9, 9, 9, 9, 9, 9, 9, > 9, 9, 9, 9, 9, 9, 6, 9, 9, 9, 9, 6, 6, 9, 9, 9, 9, 9, 14, 14, 0, 0, 2, > 2, 2, 2, 15, 58, 58, 55, 55, 55, 55, 55, 58, 58, 58, 55, 55, 55, 55, > 55, 58, 58, 58, 58, 9, 9, 6, 6, 6, 6, 6, 6, 6, 6, 55, 55, 5, 13, 0, 0, > 11, 0, 9, 9, 8), > classAssert = c(3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, > 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, > 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, > 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, > 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, > 0, 0, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, > 10, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, > 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 1, 1, 3, 0, > 3, 3, 0), isKilled = structure(c(2L, 2L, 2L, 2L, 2L, 2L, > 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, > 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, > 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, > 2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, > 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, > 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 1L, 1L, 1L, 1L, > 1L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, > 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, > 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 2L, 2L, > 1L, 2L, 1L, 1L, 1L), .Label = c("yes", "no"), class = "factor")), > row.names = c(3L, 9L, 12L, 13L, 14L, 15L, 19L, 21L, 22L, 24L, 28L, > 29L, 39L, 44L, 46L, 51L, 52L, 57L, 62L, 63L, 68L, 71L, 73L, 75L, 77L, > 80L, 83L, 84L, 85L, 86L, 90L, 95L, 100L, 102L, 103L, 108L, 112L, 120L, > 122L, 123L, 142L, 143L, 146L, 158L, 159L, 160L, 163L, 167L, 168L, > 170L, 174L, 176L, 183L, 186L, 192L, 196L, 199L, 203L, 205L, 206L, > 208L, 214L, 221L, 226L, 229L, 233L, 234L, 235L, 236L, 237L, 238L, > 249L, 252L, 255L, 260L, 267L, 270L, 271L, 273L, 275L, 276L, 277L, > 278L, 286L, 288L, 293L, 295L, 297L, 298L, 300L, 301L, 302L, 306L, > 312L, 313L, 316L, 317L, 331L, 333L, 338L, 341L, 342L, 344L, 346L, > 348L, 359L, 370L, 375L, 378L, 381L, 382L, 383L, 386L, 389L, 390L, > 394L, 397L, 400L, 402L, 403L, 404L, 408L, 415L, 418L, 419L, 423L, > 425L, 426L, 429L, 431L, 432L, 433L, 444L, 446L, 447L, 448L, 449L, > 451L, 452L, 457L, 458L, 470L, 474L, 476L, 479L, 484L), class = > "data.frame") > > > > > On Wed, Jan 26, 2022 at 3:29 PM PIKAL Petr > <mailto:petr.pikal at precheza.cz> > wrote: > Hi > > It seems that you are hiding what you really do. > > This > > options(error = NULL) > works fine without any error. So please If you want some reasonable > answer post question with data and code which is causing the error. > > My wild guess is that you have some objects in your environment and > you do not know that they are used in you commands. Try to start fresh > R session and try to inspect your environment with > > ls() > > Cheers > Petr > > > -----Original Message----- > > From: R-help <mailto:r-help-bounces at r-project.org> On Behalf Of > > javed khan > > Sent: Wednesday, January 26, 2022 3:05 PM > > To: Ivan Krylov <mailto:krylov.r00t at gmail.com> > > Cc: R-help <mailto:r-help at r-project.org> > > Subject: Re: [R] Error in if (fraction <= 1) { : missing value where > TRUE/FALSE > > needed > > > > Ivan, thanks > > > > When I use options(error = NULL) > > > > it says: Error during wrapup: missing value where TRUE/FALSE needed > > Error: no more error handlers available (recursive errors?); > > invoking > 'abort' > > restart > > > > With traceback(), I get > > > > 4: readable_number(max_value - min_value, FALSE) > > 3: get_nice_ticks(lower_bound, upper_bound) > > > > On Wed, Jan 26, 2022 at 2:53 PM Ivan Krylov > > <mailto:krylov.r00t at gmail.com> > > wrote: > > > > > On Wed, 26 Jan 2022 14:47:16 +0100 javed khan > > > <mailto:javedbtk111 at gmail.com> wrote: > > > > > > > Error in if (fraction <= 1) { : missing value where TRUE/FALSE > > > > needed > > > > > > > var <- ifelse(test$operator == 'T14', 1, 0) > > > > > > The error must be in a place different from your test$operator > > > comparison. Have you tried traceback() to get the call stack > > > leading to the error? Or options(error = recover) to land in a > > > debugger session the moment an uncaught error happens? (Use > > > options(error > > > NULL) to go back to the default behaviour.) > > > > > > Unrelated: var <- test$operator == 'T14' will also give you an > > > equivalent logical vector with a bit less work. > > > > > > -- > > > Best regards, > > > Ivan > > > > > > > [[alternative HTML version deleted]] > > > > ______________________________________________ > > mailto:R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, > > see > > https://urldefense.proofpoint.com/v2/url?u=https-3A__stat.ethz.ch_ma > > ilman_listinfo_r-2Dhelp&d=DwICAg&c=sJ6xIWYx-zLMB3EPkvcnVg&r=9PEhQh2k > > VeAsRzsn7AkP-g&m=eLthULmcsbsauwFtFwUELWbEcCm6j9dDsFTJTMNM9azTjEAhJ1- > > qp1QpqM4aMJUU&s=nKOUnbWqTVHBJ8_18UPI_0txX86s35CP6VAqBc-Q6_k&e> > PLEASE do read the posting guide > https://urldefense.proofpoint.com/v2/url?u=http-3A__www.R-2Dproject.or > g_posting-2Dguide.html&d=DwICAg&c=sJ6xIWYx-zLMB3EPkvcnVg&r=9PEhQh2kVeA > sRzsn7AkP-g&m=eLthULmcsbsauwFtFwUELWbEcCm6j9dDsFTJTMNM9azTjEAhJ1-qp1Qp > qM4aMJUU&s=eZti_glRZlkKsUposffe3dMBirNV2J-goX3ARZowxLs&e> > and provide commented, minimal, self-contained, reproducible code. > ______________________________________________ > R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see > https://urldefense.proofpoint.com/v2/url?u=https-3A__stat.ethz.ch_mail > man_listinfo_r-2Dhelp&d=DwICAg&c=sJ6xIWYx-zLMB3EPkvcnVg&r=9PEhQh2kVeAs > Rzsn7AkP-g&m=eLthULmcsbsauwFtFwUELWbEcCm6j9dDsFTJTMNM9azTjEAhJ1-qp1Qpq > M4aMJUU&s=nKOUnbWqTVHBJ8_18UPI_0txX86s35CP6VAqBc-Q6_k&e> PLEASE do read the posting guide > https://urldefense.proofpoint.com/v2/url?u=http-3A__www.R-2Dproject.or > g_posting-2Dguide.html&d=DwICAg&c=sJ6xIWYx-zLMB3EPkvcnVg&r=9PEhQh2kVeA > sRzsn7AkP-g&m=eLthULmcsbsauwFtFwUELWbEcCm6j9dDsFTJTMNM9azTjEAhJ1-qp1Qp > qM4aMJUU&s=eZti_glRZlkKsUposffe3dMBirNV2J-goX3ARZowxLs&e> and provide commented, minimal, self-contained, reproducible code.______________________________________________ R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see https://urldefense.proofpoint.com/v2/url?u=https-3A__stat.ethz.ch_mailman_listinfo_r-2Dhelp&d=DwICAg&c=sJ6xIWYx-zLMB3EPkvcnVg&r=9PEhQh2kVeAsRzsn7AkP-g&m=eLthULmcsbsauwFtFwUELWbEcCm6j9dDsFTJTMNM9azTjEAhJ1-qp1QpqM4aMJUU&s=nKOUnbWqTVHBJ8_18UPI_0txX86s35CP6VAqBc-Q6_k&ePLEASE do read the posting guide https://urldefense.proofpoint.com/v2/url?u=http-3A__www.R-2Dproject.org_posting-2Dguide.html&d=DwICAg&c=sJ6xIWYx-zLMB3EPkvcnVg&r=9PEhQh2kVeAsRzsn7AkP-g&m=eLthULmcsbsauwFtFwUELWbEcCm6j9dDsFTJTMNM9azTjEAhJ1-qp1QpqM4aMJUU&s=eZti_glRZlkKsUposffe3dMBirNV2J-goX3ARZowxLs&eand provide commented, minimal, self-contained, reproducible code.
Bert Gunter
2022-Jan-27 18:16 UTC
[R] Error in if (fraction <= 1) { : missing value where TRUE/FALSE needed
I did not claim it is faster -- and in fact I doubt that it makes any real difference. Just simpler, imo. I also think that the logical vector would serve equally in any situation in most cases where arithmetic 0/1 coding is used -- even arithmetic ops and comparisons:> TRUE + 2[1] 3> TRUE > .5[1] TRUE (?'+' has details) I would appreciate someone responding with a nontrivial counterexample to this claim if they have one, other than the sort of thing shown in the ?logical example involving conversion to character: ## logical interpretation of particular strings charvec <- c("FALSE", "F", "False", "false", "fAlse", "0", "TRUE", "T", "True", "true", "tRue", "1") as.logical(charvec) ## factors are converted via their levels, so string conversion is used as.logical(factor(charvec)) as.logical(factor(c(0,1))) # "0" and "1" give NA (I mean of course purely internal R code, not export of data to an external application). Bert Gunter "The trouble with having an open mind is that people keep coming along and sticking things into it." -- Opus (aka Berkeley Breathed in his "Bloom County" comic strip ) On Thu, Jan 27, 2022 at 8:12 AM Ebert,Timothy Aaron <tebert at ufl.edu> wrote:> > One could use the microbenchmark package to compare which approach is faster, assuming the dataset is large enough that the outcome will make a measurable difference. > > -----Original Message----- > From: R-help <r-help-bounces at r-project.org> On Behalf Of Bert Gunter > Sent: Thursday, January 27, 2022 10:44 AM > To: PIKAL Petr <petr.pikal at precheza.cz> > Cc: R-help <r-help at r-project.org> > Subject: Re: [R] Error in if (fraction <= 1) { : missing value where TRUE/FALSE needed > > [External Email] > > This will not help solve the issue, but perhaps it is worth pointing out that the idiom, prot <- ifelse(test$operator == 'T13', 1, 0) is perhaps more simply coded as prot <- test$operator == 'T13' > > This will give a logical, TRUE/FALSE, instead of 1/0, but I doubt that a numeric is needed anyway. However, as.numeric() would of course do such a conversion, in which case the original ifelse might as well be used. > > Bert Gunter > > "The trouble with having an open mind is that people keep coming along and sticking things into it." > -- Opus (aka Berkeley Breathed in his "Bloom County" comic strip ) > > On Wed, Jan 26, 2022 at 11:39 PM PIKAL Petr <petr.pikal at precheza.cz> wrote: > > > > Hi > > > > Actually you did not. Your original question was: > > > > > Error in if (fraction <= 1) { : missing value where TRUE/FALSE > > > needed I used this: > > > var <- ifelse(test$operator == 'T14', 1, 0) operator has several > > > values like T1, T3, T7, T15, T31, T37 For some values like T3, T7 it > > > works fine but for majority of values it gives error. > > > When I use: is.na(ts$operator), it shows all false values so no NAs. > > > > Only now we could inspect your whole code and it was already pointed > > that the error does not originate from ifelse. > > > > With the same data and ifelse code I did not get any error. > > > > test <- structure(list(DepthTree = c(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, > > 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, > > 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, <snip> > > > > > str(test) > > 'data.frame': 146 obs. of 15 variables: > > $ DepthTree : num 1 1 1 1 1 1 1 1 1 1 ... > > <snip> > > $ numCovered : num 0 0 0 0 0 0 0 0 0 0 ... > > $ operator : Factor w/ 16 levels "T0","T1","T2",..: 4 4 7 8 8 8 11 4 10 7 > > ... > > $ methodReturn : Factor w/ 22 levels "I","V","Z","method",..: 2 2 2 2 > > 2 2 2 4 > > 4 2 ... > > $ numTestsCover: num 16 15 15 16 15 15 15 4 4 16 ... > > $ mutantAssert : num 55 55 55 55 55 55 55 13 13 55 ... > > $ classAssert : num 3 3 3 3 3 3 3 3 3 3 ... > > $ isKilled : Factor w/ 2 levels "yes","no": 2 2 2 2 2 2 2 2 2 2 ... > > > > > prot <- ifelse(test$operator == 'T13', 1, 0) > > > > the most probable source of the error is > > > > fc= fairness_check(explainer, > > protected = prot, > > privileged = privileged) > > > > so you should check explainer and privileged > > > > Cheers > > Petr > > > > From: javed khan <javedbtk111 at gmail.com> > > Sent: Wednesday, January 26, 2022 3:45 PM > > To: PIKAL Petr <petr.pikal at precheza.cz> > > Cc: R-help <r-help at r-project.org> > > Subject: Re: [R] Error in if (fraction <= 1) { : missing value where > > TRUE/FALSE needed > > > > Hi Pikal, why would I hide something? I provided just a code where error is. > > > > Full code is: > > > > index= sample(1:nrow(data), 0.7*nrow(data)) train= data[index,] test> > data[-index,] > > > > > > task = TaskClassif$new("data", backend = train, target = "isKilled") > > > > learner= lrn("classif.gbm", predict_type = "prob") > > > > model= learner$train(task ) > > > > explainer = explain_mlr3(model, > > data = test[,-15], > > y = as.numeric(test$isKilled)-1, > > label="GBM") > > > > prot <- ifelse(test$operator == 'T13', 1, 0) privileged <- '1' > > > > fc= fairness_check(explainer, > > protected = prot, > > privileged = privileged) > > plot(fc) > > > > > > And my data is the following: > > > > str(test) > > 'data.frame': 146 obs. of 15 variables: > > $ DepthTree : num 1 1 1 1 1 1 1 1 1 1 ... > > $ NumSubclass : num 0 0 0 0 0 0 0 0 0 0 ... > > $ McCabe : num 1 3 3 3 3 3 3 1 1 2 ... > > $ LOC : num 3 10 10 10 10 10 10 4 4 5 ... > > $ DepthNested : num 1 2 2 2 2 2 2 1 1 2 ... > > $ CA : num 1 1 1 1 1 1 1 1 1 1 ... > > $ CE : num 2 2 2 2 2 2 2 2 2 2 ... > > $ Instability : num 0.667 0.667 0.667 0.667 0.667 0.667 0.667 0.667 > > 0.667 > > 0.667 ... > > $ numCovered : num 0 0 0 0 0 0 0 0 0 0 ... > > $ operator : Factor w/ 16 levels "T0","T1","T2",..: 4 4 7 8 8 8 11 4 10 7 > > ... > > $ methodReturn : Factor w/ 22 levels "I","V","Z","method",..: 2 2 2 2 > > 2 2 2 4 > > 4 2 ... > > $ numTestsCover: num 16 15 15 16 15 15 15 4 4 16 ... > > $ mutantAssert : num 55 55 55 55 55 55 55 13 13 55 ... > > $ classAssert : num 3 3 3 3 3 3 3 3 3 3 ... > > $ isKilled : Factor w/ 2 levels "yes","no": 2 2 2 2 2 2 2 2 2 2 ... > > > dput(test) > > structure(list(DepthTree = c(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, > > 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, > > 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, > > 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, > > 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, > > 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, > > 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 2, 1, 1, 1), NumSubclass = c(0, > > 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, > > 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, > > 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, > > 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, > > 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, > > 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, > > 0, 0, 0, 0, 0, 0, 2), McCabe = c(1, 3, 3, 3, 3, 3, 3, 1, 1, 2, 3, 3, > > 3, 3, 3, 3, 3, 3, 2, 2, 1, 1, 1, 2, 2, 2, 1, 4, 4, 4, 4, 4, 4, 4, 4, > > 4, 4, 5, 5, 5, 5, 5, 5, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, 5, 5, > > 5, 5, 5, 5, 5, 2, 2, 2, 2, 5, 5, 5, 5, 5, 5, 1, 5, 5, 5, 5, 5, 5, 5, > > 5, 5, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, > > 1, 1, 1, 1, 2, 2, 1, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 1, 4, 1, 1, 1, 1, > > 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1), LOC = c(3, > > 10, 10, 10, 10, 10, 10, 4, 4, 5, 22, 22, 22, 22, 22, 22, 22, 22, 3, 3, > > 3, 3, 3, 8, 8, 8, 4, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 16, 16, > > 16, 16, 16, 16, 8, 8, 8, 8, 8, 8, 16, 16, 16, 16, 16, 16, 20, 20, 20, > > 20, 20, 20, 20, 20, 7, 7, 7, 7, 18, 18, 18, 18, 18, 18, 3, 15, 15, 15, > > 15, 15, 15, 15, 15, 15, 6, 15, 15, 15, 15, 15, 15, 15, 15, 15, 9, 9, > > 9, 9, 9, 9, 4, 4, 3, 3, 3, 3, 3, 4, 4, 6, 6, 5, 5, 5, 8, 8, 8, 3, 3, > > 3, 3, 3, 3, 7, 3, 3, 3, 3, 15, 15, 15, 15, 15, 15, 15, 15, 3, 3, 3, 3, > > 4, 4, 8, 4, 4, 4, 3), DepthNested = c(1, 2, 2, 2, 2, 2, 2, 1, 1, 2, 4, > > 4, 4, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 2, 2, 2, 1, 3, 3, 3, 3, 3, 3, 3, > > 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, > > 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 3, 3, 3, 3, 3, 3, > > 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, > > 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, > > 1, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1), CA = c(1, > > 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, > > 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, > > 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, > > 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, > > 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, > > 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, > > 1, 1, 2, 1, 2, 2, 1), CE = c(2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, > > 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, > > 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, > > 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, > > 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, > > 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, > > 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 0, 2, 0, 0, 2), Instability > > c(0.667, 0.667, 0.667, 0.667, 0.667, 0.667, 0.667, 0.667, 0.667, > > 0.667, 0.667, 0.667, 0.667, 0.667, 0.667, 0.667, 0.667, 0.667, 0.667, > > 0.667, 0.667, 0.667, 0.667, 0.667, 0.667, 0.667, 0.667, 0.667, 0.667, > > 0.667, 0.667, 0.667, 0.667, 0.667, 0.667, 0.667, 0.667, 0.667, 0.667, > > 0.667, 0.667, 0.667, 0.667, 0.667, 0.667, 0.667, 0.667, 0.667, 0.667, > > 0.667, 0.667, 0.667, 0.667, 0.667, 0.667, 0, 0, 0, 0, 0, 0, 0, 0, 0, > > 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, > > 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.667, 0.667, > > 0.667, 0.667, 0.667, 0.667, 0.667, 0.667, 0.667, 0.667, 0.667, 0.667, > > 0.667, 0.667, 0.667, 0.667, 0.667, 0.667, 0.667, 0, 0, 0, 0, 0, 0, 0, > > 0, 0, 0, 0.667, 0.667, 0.667, 0.667, 0.667, 0.667, 0, 0.667, 0, 0, > > 0.667), numCovered = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, > > 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, > > 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 150, 54, 54, 123, 54, > > 54, 123, 54, 189, 189, 189, 138, 33, 18, 27, 27, 18, 27, 15, 54, 54, > > 150, 150, 54, 150, 150, 54, 150, 66, 60, 12, 60, 15, 45, 72, 12, 12, > > 45, 255, 255, 255, 255, 129, 129, 0, 0, 6, 6, 6, 6, 303, 0, 0, 0, 0, > > 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 21, 12, 12, 12, 12, > > 12, 12, 12, 12, 48, 1557, 9, 12, 0, 0, 141, 0, 21, 21, 21), operator > > structure(c(4L, 4L, 7L, 8L, 8L, 8L, 11L, 4L, 10L, 7L, 4L, 7L, 8L, 8L, > > 8L, 9L, 9L, 11L, 7L, 8L, 2L, 8L, 8L, 7L, 8L, 10L, 11L, 1L, 2L, 2L, 4L, > > 8L, 8L, 8L, 8L, 10L, 12L, 4L, 6L, 6L, 8L, 8L, 8L, 7L, 7L, 8L, 8L, 9L, > > 9L, 1L, 4L, 6L, 8L, 8L, 8L, 1L, 1L, 7L, 7L, 7L, 8L, 8L, 13L, 7L, 8L, > > 9L, 9L, 1L, 1L, 2L, 7L, 8L, 10L, 10L, 4L, 7L, 7L, 7L, 8L, 8L, 8L, 9L, > > 9L, 10L, 1L, 8L, 8L, 8L, 8L, 10L, 11L, 11L, 11L, 6L, 7L, 8L, 9L, 9L, > > 10L, 6L, 10L, 1L, 4L, 7L, 10L, 6L, 7L, 13L, 7L, 13L, 7L, 8L, 9L, 4L, > > 6L, 9L, 8L, 10L, 8L, 10L, 8L, 10L, 9L, 8L, 10L, 13L, 10L, 2L, 7L, 7L, > > 8L, 8L, 9L, 11L, 11L, 10L, 10L, 13L, 13L, 8L, 8L, 9L, 4L, 6L, 10L, > > 10L), .Label = c("T0", "T1", "T2", "T3", "T4", "T5", "T6", "T7", "T8", > > "T9", "T10", "T11", "T12", "T13", "T14", "T15"), class = "factor"), > > methodReturn = structure(c(2L, 2L, 2L, 2L, 2L, 2L, 2L, 4L, 4L, 2L, 2L, > > 2L, 2L, 2L, 2L, 2L, 2L, 2L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, > > 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, > > 2L, 2L, 2L, 2L, 4L, 4L, 4L, 4L, 4L, 4L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, > > 2L, 2L, 2L, 2L, 2L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 1L, 1L, 1L, 1L, 1L, > > 1L, 1L, 1L, 1L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 1L, 1L, 1L, > > 1L, 3L, 3L, 1L, 1L, 3L, 3L, 3L, 3L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, > > 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 2L, 4L, 4L, 4L, 4L, > > 4L, 4L, 4L, 4L, 4L, 3L, 3L, 2L, 2L, 4L, 4L, 1L, 3L, 1L, 1L, 4L), > > .Label = c("I", "V", "Z", "method", "D", "[D", "[[D", "J", "[I", "C", > > "[J", "[C", "[S", "F", "[F", "[B", "S", "B", "[Z", "[[S", "[[B", > > "[[Z"), class = "factor"), numTestsCover = c(16, 15, 15, 16, 15, 15, > > 15, 4, 4, 16, 16, 16, 15, 15, 15, 16, 16, 15, 3, 3, 2, 2, 2, 16, 11, > > 16, 4, 16, 16, 3, 16, 16, 4, 16, 16, 16, 16, 2, 3, 2, 1, 4, 1, 16, 15, > > 16, 15, 16, 16, 2, 2, 2, 3, 2, 2, 4, 5, 5, 4, 5, 5, 4, 5, 4, 4, 4, 4, > > 4, 3, 4, 4, 3, 4, 4, 5, 5, 4, 4, 5, 4, 4, 5, 4, 4, 4, 3, 4, 4, 4, 4, > > 3, 3, 4, 4, 4, 4, 4, 6, 6, 0, 0, 2, 2, 2, 2, 7, 17, 17, 15, 15, 15, > > 15, 15, 16, 16, 16, 16, 15, 16, 16, 15, 17, 17, 16, 16, 5, 4, 4, 4, 4, > > 4, 4, 4, 4, 4, 16, 16, 3, 4, 0, 0, 5, 0, 4, 4, 1), mutantAssert > > c(55, 55, 55, 55, 55, 55, 55, 13, 13, 55, 55, 55, 55, 55, 55, 55, 55, > > 55, 9, 9, 9, 9, 9, 55, 41, 55, 13, 55, 55, 5, 55, 55, 13, 55, 55, 55, > > 55, 8, 13, 8, 4, 13, 4, 55, 55, 55, 55, 55, 55, 9, 9, 9, 9, 9, 8, 9, > > 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 6, 9, 9, 6, 9, 9, 9, 9, 9, 9, 9, > > 9, 9, 9, 9, 9, 9, 6, 9, 9, 9, 9, 6, 6, 9, 9, 9, 9, 9, 14, 14, 0, 0, 2, > > 2, 2, 2, 15, 58, 58, 55, 55, 55, 55, 55, 58, 58, 58, 55, 55, 55, 55, > > 55, 58, 58, 58, 58, 9, 9, 6, 6, 6, 6, 6, 6, 6, 6, 55, 55, 5, 13, 0, 0, > > 11, 0, 9, 9, 8), > > classAssert = c(3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, > > 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, > > 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, > > 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, > > 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, > > 0, 0, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, > > 10, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, > > 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 1, 1, 3, 0, > > 3, 3, 0), isKilled = structure(c(2L, 2L, 2L, 2L, 2L, 2L, > > 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, > > 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, > > 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, > > 2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, > > 1L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, > > 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 1L, 1L, 1L, 1L, > > 1L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, > > 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, > > 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 1L, 1L, 1L, 1L, 2L, 2L, > > 1L, 2L, 1L, 1L, 1L), .Label = c("yes", "no"), class = "factor")), > > row.names = c(3L, 9L, 12L, 13L, 14L, 15L, 19L, 21L, 22L, 24L, 28L, > > 29L, 39L, 44L, 46L, 51L, 52L, 57L, 62L, 63L, 68L, 71L, 73L, 75L, 77L, > > 80L, 83L, 84L, 85L, 86L, 90L, 95L, 100L, 102L, 103L, 108L, 112L, 120L, > > 122L, 123L, 142L, 143L, 146L, 158L, 159L, 160L, 163L, 167L, 168L, > > 170L, 174L, 176L, 183L, 186L, 192L, 196L, 199L, 203L, 205L, 206L, > > 208L, 214L, 221L, 226L, 229L, 233L, 234L, 235L, 236L, 237L, 238L, > > 249L, 252L, 255L, 260L, 267L, 270L, 271L, 273L, 275L, 276L, 277L, > > 278L, 286L, 288L, 293L, 295L, 297L, 298L, 300L, 301L, 302L, 306L, > > 312L, 313L, 316L, 317L, 331L, 333L, 338L, 341L, 342L, 344L, 346L, > > 348L, 359L, 370L, 375L, 378L, 381L, 382L, 383L, 386L, 389L, 390L, > > 394L, 397L, 400L, 402L, 403L, 404L, 408L, 415L, 418L, 419L, 423L, > > 425L, 426L, 429L, 431L, 432L, 433L, 444L, 446L, 447L, 448L, 449L, > > 451L, 452L, 457L, 458L, 470L, 474L, 476L, 479L, 484L), class > > "data.frame") > > > > > > > > > > On Wed, Jan 26, 2022 at 3:29 PM PIKAL Petr > > <mailto:petr.pikal at precheza.cz> > > wrote: > > Hi > > > > It seems that you are hiding what you really do. > > > > This > > > options(error = NULL) > > works fine without any error. So please If you want some reasonable > > answer post question with data and code which is causing the error. > > > > My wild guess is that you have some objects in your environment and > > you do not know that they are used in you commands. Try to start fresh > > R session and try to inspect your environment with > > > > ls() > > > > Cheers > > Petr > > > > > -----Original Message----- > > > From: R-help <mailto:r-help-bounces at r-project.org> On Behalf Of > > > javed khan > > > Sent: Wednesday, January 26, 2022 3:05 PM > > > To: Ivan Krylov <mailto:krylov.r00t at gmail.com> > > > Cc: R-help <mailto:r-help at r-project.org> > > > Subject: Re: [R] Error in if (fraction <= 1) { : missing value where > > TRUE/FALSE > > > needed > > > > > > Ivan, thanks > > > > > > When I use options(error = NULL) > > > > > > it says: Error during wrapup: missing value where TRUE/FALSE needed > > > Error: no more error handlers available (recursive errors?); > > > invoking > > 'abort' > > > restart > > > > > > With traceback(), I get > > > > > > 4: readable_number(max_value - min_value, FALSE) > > > 3: get_nice_ticks(lower_bound, upper_bound) > > > > > > On Wed, Jan 26, 2022 at 2:53 PM Ivan Krylov > > > <mailto:krylov.r00t at gmail.com> > > > wrote: > > > > > > > On Wed, 26 Jan 2022 14:47:16 +0100 javed khan > > > > <mailto:javedbtk111 at gmail.com> wrote: > > > > > > > > > Error in if (fraction <= 1) { : missing value where TRUE/FALSE > > > > > needed > > > > > > > > > var <- ifelse(test$operator == 'T14', 1, 0) > > > > > > > > The error must be in a place different from your test$operator > > > > comparison. Have you tried traceback() to get the call stack > > > > leading to the error? Or options(error = recover) to land in a > > > > debugger session the moment an uncaught error happens? (Use > > > > options(error > > > > NULL) to go back to the default behaviour.) > > > > > > > > Unrelated: var <- test$operator == 'T14' will also give you an > > > > equivalent logical vector with a bit less work. > > > > > > > > -- > > > > Best regards, > > > > Ivan > > > > > > > > > > [[alternative HTML version deleted]] > > > > > > ______________________________________________ > > > mailto:R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, > > > see > > > https://urldefense.proofpoint.com/v2/url?u=https-3A__stat.ethz.ch_ma > > > ilman_listinfo_r-2Dhelp&d=DwICAg&c=sJ6xIWYx-zLMB3EPkvcnVg&r=9PEhQh2k > > > VeAsRzsn7AkP-g&m=eLthULmcsbsauwFtFwUELWbEcCm6j9dDsFTJTMNM9azTjEAhJ1- > > > qp1QpqM4aMJUU&s=nKOUnbWqTVHBJ8_18UPI_0txX86s35CP6VAqBc-Q6_k&e> > > PLEASE do read the posting guide > > https://urldefense.proofpoint.com/v2/url?u=http-3A__www.R-2Dproject.or > > g_posting-2Dguide.html&d=DwICAg&c=sJ6xIWYx-zLMB3EPkvcnVg&r=9PEhQh2kVeA > > sRzsn7AkP-g&m=eLthULmcsbsauwFtFwUELWbEcCm6j9dDsFTJTMNM9azTjEAhJ1-qp1Qp > > qM4aMJUU&s=eZti_glRZlkKsUposffe3dMBirNV2J-goX3ARZowxLs&e> > > and provide commented, minimal, self-contained, reproducible code. > > ______________________________________________ > > R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see > > https://urldefense.proofpoint.com/v2/url?u=https-3A__stat.ethz.ch_mail > > man_listinfo_r-2Dhelp&d=DwICAg&c=sJ6xIWYx-zLMB3EPkvcnVg&r=9PEhQh2kVeAs > > Rzsn7AkP-g&m=eLthULmcsbsauwFtFwUELWbEcCm6j9dDsFTJTMNM9azTjEAhJ1-qp1Qpq > > M4aMJUU&s=nKOUnbWqTVHBJ8_18UPI_0txX86s35CP6VAqBc-Q6_k&e> > PLEASE do read the posting guide > > https://urldefense.proofpoint.com/v2/url?u=http-3A__www.R-2Dproject.or > > g_posting-2Dguide.html&d=DwICAg&c=sJ6xIWYx-zLMB3EPkvcnVg&r=9PEhQh2kVeA > > sRzsn7AkP-g&m=eLthULmcsbsauwFtFwUELWbEcCm6j9dDsFTJTMNM9azTjEAhJ1-qp1Qp > > qM4aMJUU&s=eZti_glRZlkKsUposffe3dMBirNV2J-goX3ARZowxLs&e> > and provide commented, minimal, self-contained, reproducible code. > > ______________________________________________ > R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see https://urldefense.proofpoint.com/v2/url?u=https-3A__stat.ethz.ch_mailman_listinfo_r-2Dhelp&d=DwICAg&c=sJ6xIWYx-zLMB3EPkvcnVg&r=9PEhQh2kVeAsRzsn7AkP-g&m=eLthULmcsbsauwFtFwUELWbEcCm6j9dDsFTJTMNM9azTjEAhJ1-qp1QpqM4aMJUU&s=nKOUnbWqTVHBJ8_18UPI_0txX86s35CP6VAqBc-Q6_k&e> PLEASE do read the posting guide https://urldefense.proofpoint.com/v2/url?u=http-3A__www.R-2Dproject.org_posting-2Dguide.html&d=DwICAg&c=sJ6xIWYx-zLMB3EPkvcnVg&r=9PEhQh2kVeAsRzsn7AkP-g&m=eLthULmcsbsauwFtFwUELWbEcCm6j9dDsFTJTMNM9azTjEAhJ1-qp1QpqM4aMJUU&s=eZti_glRZlkKsUposffe3dMBirNV2J-goX3ARZowxLs&e> and provide commented, minimal, self-contained, reproducible code.