Включение имени объекта из списка с результатами теста Tukey в цикле «for» - PullRequest
0 голосов
/ 08 февраля 2019

У меня есть вложенный список (tukey_full) с результатами различных выполненных мною тестов TukeyHSD, и я хочу включить имя каждого объекта в список в качестве субтитра на графике.Я успешно выполнил графики, используя

 lapply(tukey_full, plot)

и

 for(i in tukey_full) {
      plot(i)
    }

Однако я не могу понять, как добавить имя объекта в подзаголовок, что я могус помощью функции names, например,

> names(tukey_full)
 [1] "protein_6289_03860"                                            
 [2] "protein_6289_01870"                                            
 [3] "protein_2945_03380_5751_03109"                                 
 [4] "protein_6289_01021"                                            
 [5] "protein_6289_03009"                                            

. Я пытался использовать

  for(i in tukey_full) {
  plot(i, sub=(i))

и

for(i in tukey_full) {
  plot(i, sub=names(i))
}

. При печати списка получилось одно из следующих действий:каждая запись

$protein_6289_01751
  Tukey multiple comparisons of means
    95% family-wise confidence level

Fit: aov(formula = .x ~ datos_significativos_unknown$cepas)

$`datos_significativos_unknown$cepas`
               diff       lwr        upr     p adj
A-C   -5.1771274 -8.357472 -1.9967829 0.0025429
B-C -4.8750794 -8.770190 -0.9799687 0.0150836
A-B   0.3020481 -2.878296  3.4823926 0.9653298

И вставить (print ()) получает меня

[1] "list(`datos_significativos_unknown$cepas` = c(2.00490288888889, 2.62596766666667, 0.621064777777779, 0.714833966082775, 1.04596236971821, -0.669004145028336, 3.294971811695, 4.20597296361513, 1.91113370058389, 0.00358339105839034, 0.00217233503326419, 0.429956321252804))"

, но, похоже, это не работает.Есть идеи?Спасибо.

Ответы [ 2 ]

0 голосов
/ 08 февраля 2019

Если вы хотите использовать lapply, вы можете попробовать это:

lapply(1:length(tukey_full), function(x) plot(tukey_full[[x]], sub=names(tukey_full)[x]))

0 голосов
/ 08 февраля 2019

Вы были действительно близко!

c <- 1
for(i in tukey_full) {
    plot(i, sub=names(tukey_full[c]))
    c <- c + 1
}
...