Вычисление субрегрессий в R с использованием by-function

#r

#r

Вопрос:

В настоящее время я работаю со встроенным набором данных «iris». Я вычислил отдельные регрессии для трех видов растений, подобных этому, и это сработало:

 reg1 = with(iris[iris$Species=="setosa",], lm(Sepal.Width~Sepal.Length))

reg2 = with(iris[iris$Species=="versicolor",], lm(Sepal.Width~Sepal.Length))

reg3 = with(iris[iris$Species=="virginica",], lm(Sepal.Width~Sepal.Length))
  

Теперь мне интересно, возможно ли также вычислить три подрегрессии, используя by функцию в R, и получить результат, аналогичный приведенному выше.

Я пробовал это так, но получаю только сообщения об ошибках:

 b <- by(iris, iris$Species, function(x){
  regby <- lm(Sepal.Width~Sepal.Length)
}
  

У кого-нибудь есть какие-либо советы для меня?

Комментарии:

1. вы забыли правую скобку

2. Спасибо за ваш ответ. Однако этот код, похоже, все еще не работает. Сообщения об ошибке нет, но всякий раз, когда я набираю «b», он говорит, что объект b не найден, поэтому в коде все еще есть ошибка. Вы знаете, почему это не работает? Я забыл что-то включить?