Наложенные панели xyplot с сгруппированными линиями регрессии

Я хочу наложить несколько групп на одну панель в решетке и хочу независимые линии регрессии.

Довольно легко получить несколько панелей, каждая из которых имеет линию регрессии, используя коэффициент кондиционирования:

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
)

Также довольно легко напечатать одну регрессию для всех точек наложенного 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')
)

Но это не то, что мне нужно. Я введу ответ на это, но это кажется грязным. Возможно этоПросто природа зверя.

ищу что-то, что легче понять. Решетка предпочтительна, но может быть принято и хорошее решение ggplot. Если это не такЯ ясном создание графиков для потребления пользователями Excel.

Ответы на вопрос(3)

Ваш ответ на вопрос