0
$\begingroup$

I have an experiment comparing multispectral data for 3 different varieties of crops with 4 different fertilizer treatments. The experimental design is a randomized-complete-block design, with each block representing a 3x4 factorial design. This experiment is replicated three times, for a total of 36 observations. The data for this experiment is shown below.

This experiment is comparing multispectral data from aerial imagery. If you're unfamiliar with this, the main method of extracting this info is to define your plot boundaries and then extract the average pixel values for various indices (i.e. NDVI, NDRE, etc) within your plot. This is because it is almost impossible to distinguish between individual plants at this level. Because of this, each variety/treatment combination only has 3 data entries.

Is it possible to run an ANOVA to test for differences between the groups? For example, I want to see if "var1, 0x rate" differs significantly between the other two varieties at the same rate. I'm just not sure if I have enough data points to use this method.

Here's my data; actual data is hidden for confidentiality reasons. All analysis will be done using R.

dataset <- data.frame(variety = c('var1',
                                  'var1',
                                  'var1',
                                  'var1',
                                  'var2',
                                  'var2',
                                  'var2',
                                  'var2',
                                  'var3',
                                  'var3',
                                  'var3',
                                  'var3',
                                  'var1',
                                  'var1',
                                  'var1',
                                  'var1',
                                  'var2',
                                  'var2',
                                  'var2',
                                  'var2',
                                  'var3',
                                  'var3',
                                  'var3',
                                  'var3',
                                  'var1',
                                  'var1',
                                  'var1',
                                  'var1',
                                  'var2',
                                  'var2',
                                  'var2',
                                  'var2',
                                  'var3',
                                  'var3',
                                  'var3',
                                  'var3'),
                      rate=c(0,
                             1,
                             4,
                             8,
                             0,
                             1,
                             4,
                             8,
                             0,
                             1,
                             4,
                             8,
                             0,
                             1,
                             4,
                             8,
                             0,
                             1,
                             4,
                             8,
                             0,
                             1,
                             4,
                             8,
                             0,
                             1,
                             4,
                             8,
                             0,
                             1,
                             4,
                             8,
                             0,
                             1,
                             4,
                             8),
                      score = c(68,
                                64,
                                54,
                                88,
                                99,
                                71,
                                65,
                                62,
                                98,
                                57,
                                55,
                                60,
                                89,
                                94,
                                68,
                                99,
                                59,
                                55,
                                63,
                                66,
                                58,
                                91,
                                69,
                                87,
                                63,
                                70,
                                73,
                                86,
                                59,
                                95,
                                78,
                                90,
                                88,
                                91,
                                90,
                                61))
$\endgroup$
2
$\begingroup$

You can always run the ANOVA, regardless of how many data points you have. Just don't expect significant results if there are too many degrees of freedom and not enough data points.

In R, you can fit a regression model with categorical variables and then call anova() on your model.

$\endgroup$
3
  • 1
    $\begingroup$ Is the function anova or aov? $\endgroup$
    – Dave
    Nov 20 '19 at 4:38
  • $\begingroup$ If you take the regression model approach, it's anova, but I think you can do it as a classic ANOVA with aov. $\endgroup$ Nov 20 '19 at 17:32
  • $\begingroup$ Do you mean doing an F-test of a model with the group variables versus a model with just an intercept? $\endgroup$
    – Dave
    Nov 20 '19 at 18:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.