Nakładane panele xyplot z zgrupowanymi liniami regresji

Chcę nałożyć kilka grup na pojedynczy panel w sieci i chcieć niezależnych linii regresji.

Uzyskanie wielu paneli jest dość łatwe, każdy z linią regresji przy użyciu czynnika warunkującego:

xyplot(
  Petal.Width  ~ Petal.Length | Species,
  data = iris,
  panel = function(x, y, ...) {
    panel.xyplot(x, y, ...)
    panel.abline(lm(y~x), col='#0080ff')
  },
  grid = TRUE
)

Łatwo jest również wydrukować pojedynczą regresję dla wszystkich punktów w nałożonym xyplot:

xyplot(
  Petal.Width ~ Petal.Length,
  data = iris,
  groups = Species,
  panel = function(x, y, ...) {
    panel.xyplot(x, y, ...)
    panel.abline(lm(y~x))
  },
  grid = TRUE,
  auto.key = list(title='Species', space='right')
)

Ale tego nie potrzebuję. Wpisuję odpowiedź na to pytanie, ale wydaje się to nieładne. Być może taka jest natura bestii.

Szukam czegoś, co jest łatwiejsze do zrozumienia. Preferowana jest krata, ale można również zaakceptować dobre rozwiązanie ggplot. Jeśli nie jest jasne, robię wykresy do wykorzystania przez użytkowników programu Excel.

questionAnswers(3)

yourAnswerToTheQuestion