Поднабор фрейма данных для включения только одного наблюдения для среднего - PullRequest
0 голосов
/ 28 февраля 2019

У меня есть код ниже, и в настоящее время он распечатывает все 150 наблюдений с одинаковым выводом для трех разных видов видов.Я пытаюсь заставить набор просто распечатать 3 ряда, по одному для каждого типа видов.Может ли кто-нибудь помочь мне сделать это?

iris_summary <- function(irisdata) {
           newiris = data.frame(irisdata$Species, 
                         MeanSepalLength = mean(irisdata$Sepal.Length), 
                         MeanSepalWidth = mean(irisdata$Sepal.Width),
                           MeanPetalLength = mean(irisdata$Petal.Length),
                           MeanPetalWidth = mean(irisdata$Petal.Width))
        return(newiris)
       }
iris_summary(iris)

1 Ответ

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

Вы можете напрямую использовать суммирование dplyr, чтобы получить среднее значение для всех 3 видов.Попробуйте это:

library(dplyr)
iris_avg <- iris %>% group_by(Species) %>% summarise_all(funs(mean))

> iris_avg
# A tibble: 3 x 5
Species    Sepal.Length Sepal.Width Petal.Length Petal.Width
1 setosa             5.01        3.43         1.46       0.246
2 versicolor         5.94        2.77         4.26       1.33 
3 virginica          6.59        2.97         5.55       2.03 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...