Caley
Caley

Reputation: 1

Keep getting NaNs when carrying out TukeyHSD in R

I have this small data frame that I want to carry out a TukeyHSD test on.

data.frame':    4 obs. of  4 variables:
$ Species : Factor w/ 4 levels "Anthoxanthum",..: 1 1 1 1 
$ Harvest : Factor w/ 4 levels "b","c","d","e": 1 2 3 4
$ Total   : num  0.2449 0.1248 0.0722 0.1025

I perform an analysis of variance with aov:

anthox1 <- aov(Total ~ Harvest, data=anthox)
anthox.tukey <- TukeyHSD(anthox1, "Harvest", conf.level = 0.95)

but when I run the TukeyHSD I get this message:

Warning message:

In qtukey(conf.level, length(means), x$df.residual) : NaNs produced

Can anyone help me to fix the problem and also explain why this is happening. I feel like everything is correctly written (code and data) but for some reason it does not want to work.

Upvotes: 0

Views: 11034

Answers (1)

Roland
Roland

Reputation: 132706

Since you have exactly one observation per group, you get a perfect fit:

Total <- c(0.2449, 0.1248, 0.0722, 0.1025)
Harvest <- c("b","c","d","e")
anthox1 <- aov(Total ~ Harvest)

summary.lm(anthox1)
#Call:
#  aov(formula = Total ~ Harvest)
#
#Residuals:
#  ALL 4 residuals are 0: no residual degrees of freedom!
#  
#  Coefficients:
#            Estimate Std. Error t value Pr(>|t|)
#(Intercept)   0.2449         NA      NA       NA
#Harvestc     -0.1201         NA      NA       NA
#Harvestd     -0.1727         NA      NA       NA
#Harveste     -0.1424         NA      NA       NA
#
#Residual standard error: NaN on 0 degrees of freedom
#Multiple R-squared:      1,  Adjusted R-squared:    NaN 
#F-statistic:   NaN on 3 and 0 DF,  p-value: NA

This means you don't have enough residual degrees of freedom for a Tukey test (or for any statistics).

Upvotes: 1

Related Questions