Ошибка имен строк в HSD.test. Как проверить имена строк? - PullRequest
0 голосов
/ 07 октября 2019

У меня есть фрейм данных, для которого я сделал двустороннюю ANOVA.

dput(m3)

структура (список (Delta = c (-40, -40, -40, -40, -31,7, -29,3, -27,8, -26,7, -26,2, -25,4, -24,7, -23,1, -23, -22,9, -22,4, -22,2, -21,4, -21, -20,8,-15,1, -14,9, -14,1, -6,2, -6,2, -6, -5,3, -4,9), расположение = структура (c (1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, 2L), 2L, 1L, 2L, 1L, 1L, 1L, 2L, 1L, 2L, 2L, 1L, 2L, 3L, 2L, 3L, 3L, 3L), .Label = c ("int", "pen + int", "ter + pen"), class = "factor"), Between = c (0L, 1L, 1L, 2L, 1L, 1L, 1L, 2L, 0L, 2L, 1L, 0L, 1L, 0L, 2L, 0L, 2L, 1L, 1L, 1L, 1L, 0L, 0L, 0L, 0L, 0L, 0L), относительная = структура (c (5L, 6L, 6L, 7L, 8L, 3L, 3L, 4L, 5L, 4L,3L, 5L, 3L, 5L, 7L, 5L, 4L, 6L, 3L, 3L, 6L, 2L, 1L, 2L, 1L, 1L, 1L), .Label = c ("1 & 2", "2 & 3", "2 & 4"," 2 & 5 "," 3 & 4 "," 3 & 5 "," 3 & 6 "," 4 & 6 "), class =" factor ")), class =" data.frame ", row.names = c (NA, -27L))

library(agricolae)
aov.2sum=aov(Delta.~Location*X.between, data=m3)

Я хочу проанализировать данные, используя HSD.test , как и для другого кадра данных, используяте же функции. Я следую формату кода в руководстве к пакету, как показано ниже.

tx <- with(m3, interaction(Location, X.between))
amod <-aov(Delta~tx, data=m3)
test=HSD.test(amod, "tx", group=TRUE)

Затем я получаю следующую ошибку

Ошибка в .rowNamesDF<- (x, значение = значение): дубликаты 'row.names' не допускаются. Дополнительно: Предупреждениесообщение: неуникальные значения при установке 'row.names': 'int.0', 'pen + int.1', 'pen + int.2', 'te + int.0', 'te + int.1'

После дальнейшего анализа я вижу, что ошибка с повторяющимися именами строк связана с моей функцией X.between. Когда я использую следующий код, я получаю ту же ошибку повторяющихся имен строк:

HSD.test(amod, "X.between", group=TRUE)
>> Error in data.frame(row.names = means[, 1], means[, 2:6]) : 
  duplicate row.names: 0, 1, 2

Как выбираются имена строк для HSD.test? Тогда как я могу изменить названия строк? Или просто избежать этой ошибки дублирования?

Спасибо за все и любую помощь.

...