Error in lm.fit(x,y,offset = offset, singular.ok,...) 0 non-NA cases with boxcox formula
eval, lm, r
Solution
The error message
lm.fit(x,y,offset = offset, singular.ok = singular.ok, ...) : 0 (non-NA) cases
is generated by the `lm(y ~ x)` command when variables `x` or `y` (or both) have only NAs. Here is an example:
n <- 10
x <- rnorm(n,1)
y <- rep(NA,n)
lm(y ~ x)
Error in lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...) :
0 (non-NA) cases
In your code I suggest to test (just before your `lm` commands) if one of your variables has all NAs using:
all(is.na(x))
all(is.na(y))
all(is.na(y^trans))
In my example:
all(is.na(y))
[1] TRUE
Problem
I am trying to run a boxcox transformation with the following code: ``` urban1 <- subset(ski,urban <= 4,na.rm=TRUE) ski$gender <- as.numeric((as.character(ski$gender)),na.rm=TRUE) urban1 <- as.numeric((as.character(urban1))) x <- (ski$gender*urban1) y <- ski$EPSI. bc <- boxcox(y ~ x) (trans <- bc$x[which.max(bc$y)]) model3 <- lm(y ~ x) model3new <- lm(y^trans ~ x) ski$EPSI. <- ski$EPSI. + 1 ``` But I keep getting this error: Error in lm.fit(x,y,offset = offset, singular.ok = singular.ok, ...) : 0 (non-NA) cases Calls: ... eval -> eval -> boxcar -> boxcar.formula -> lm -> lm.fit Execution halted Thanks in advance!