I am getting Inf. output for $y when running a box cox transformation using the MASS package. Here is a sample of the code I am running:
sb2<- as.formula("yes~no+insured+sex2+racethx+mnhlth53+rthlth53+age13x")
meps_analytic2 %>%
filter(as.logical(yes))%>%
MASS::boxcox(sb2,lambda=seq(-1,1,len=5),plotit=FALSE,data=.)
$x
[1] -1.0 -0.5 0.0 0.5 1.0
$y
[1] Inf Inf Inf Inf Inf
> summary(meps_analytic2)
age13x racethx mnhlth53 rthlth53 sex2 no yes
19 : 579 1: 7792 1:9329 1:6252 0:13967 FALSE: 1875 FALSE:24304
26 : 559 2:10196 2:7354 2:8163 1:12212 TRUE :24304 TRUE : 1875
22 : 539 3: 5435 3:7187 3:7759
21 : 534 4: 2094 4:1887 4:3125
25 : 533 5: 662 5: 422 5: 880
29 : 533
(Other):22902
insured
0: 7264
1:18915
I've tried running is.finite() and is.nan() for all variables that make up sb2, but no infinite values or NaNs are found. What would cause me to keep getting Inf responses for $y?? I have also tried changing class of variables to as.logical, as.numeric, etc.
You've filtered your data set so that there is no variation in your response variable (they are all yes == TRUE, which will get coerced to a numeric value of 1.0);
dd <- data.frame(y=1, x = 1:10)
MASS::boxcox(y~x, data = dd, plotit = FALSE)
results:
$x
[1] -2.0 -1.9 -1.8 -1.7 -1.6 -1.5 -1.4 -1.3 -1.2 -1.1 -1.0 -0.9 -0.8 -0.7 -0.6
[16] -0.5 -0.4 -0.3 -0.2 -0.1 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
[31] 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0
$y
[1] Inf Inf Inf Inf Inf Inf Inf Inf Inf Inf Inf Inf Inf Inf Inf Inf Inf Inf Inf
[20] Inf Inf Inf Inf Inf Inf Inf Inf Inf Inf Inf Inf Inf Inf Inf Inf Inf Inf Inf
[39] Inf Inf Inf