Поскольку у вас есть одно наблюдение за группу, вы получаете идеальную форму:
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
Это означает, что у вас недостаточно достаточной степени свободы для теста Tukey (или для любой статистики) .
Antlr предлагает учебное пособие по синтаксическому анализу XML. Он разбивает процесс на фазы: лексирование, синтаксический анализ, синтаксический анализ дерева и т. Д. Выглядит довольно интересно.
Я не знаю, будет ли это «жульничеством» в вашей книге, но вы можете попробовать разобрать свой XML с помощью готового универсального синтаксического анализатора языка, такого как ANTLR. Результатом будет список токенов (если вы просто используете лексер) или дерево синтаксического анализа (если вы включите синтаксический анализатор), и вы сможете затем воссоздать дерево синтаксического анализа почти 1: 1 в структуру XML.
Возможно . Я не задумывался о том, чем XML может отличаться от «нормального» ANTLR-корма, такого как языки программирования, и сможете ли вы определить подходящую грамматику.
Expat - это библиотека синтаксического анализатора XML, написанная на языке C. Это потоковый анализатор, в котором приложение регистрирует обработчики для вещей, которые анализатор могут быть найдены в XML-документе (например, в начальных тегах). Вводная статья об использовании Expat доступна на xml.com.
VTD-XML, вероятно, самый простой из возможных методов синтаксического анализа ...