## # A tibble: 6 × 8
## species island bill_length_mm bill_depth_mm flipper_length_mm body_mass_g
## <fct> <fct> <dbl> <dbl> <int> <int>
## 1 Adelie Torgersen 39.1 18.7 181 3750
## 2 Adelie Torgersen 39.5 17.4 186 3800
## 3 Adelie Torgersen 40.3 18 195 3250
## 4 Adelie Torgersen NA NA NA NA
## 5 Adelie Torgersen 36.7 19.3 193 3450
## 6 Adelie Torgersen 39.3 20.6 190 3650
## # ℹ 2 more variables: sex <fct>, year <int>
summary(penguins)
## species island bill_length_mm bill_depth_mm
## Adelie :152 Biscoe :168 Min. :32.10 Min. :13.10
## Chinstrap: 68 Dream :124 1st Qu.:39.23 1st Qu.:15.60
## Gentoo :124 Torgersen: 52 Median :44.45 Median :17.30
## Mean :43.92 Mean :17.15
## 3rd Qu.:48.50 3rd Qu.:18.70
## Max. :59.60 Max. :21.50
## NA's :2 NA's :2
## flipper_length_mm body_mass_g sex year
## Min. :172.0 Min. :2700 female:165 Min. :2007
## 1st Qu.:190.0 1st Qu.:3550 male :168 1st Qu.:2007
## Median :197.0 Median :4050 NA's : 11 Median :2008
## Mean :200.9 Mean :4202 Mean :2008
## 3rd Qu.:213.0 3rd Qu.:4750 3rd Qu.:2009
## Max. :231.0 Max. :6300 Max. :2009
## NA's :2 NA's :2
# Tabela mas ciała pingwinów
knitr::kable(head(penguins[, c("species", "island", "body_mass_g")]),
caption = "Tabela Mas Ciała Pingwinów")
Tabela Mas Ciała Pingwinów
species
island
body_mass_g
Adelie
Torgersen
3750
Adelie
Torgersen
3800
Adelie
Torgersen
3250
Adelie
Torgersen
NA
Adelie
Torgersen
3450
Adelie
Torgersen
3650
# Podsumowanie mas ciała pingwinów
summary(penguins$body_mass_g)
## Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
## 2700 3550 4050 4202 4750 6300 2
# Obliczenia statystyczne dla masy ciała w zależności od gatunku
mean_masa_ciala <- tapply(penguins$body_mass_g, penguins$species, mean)
median_masa_ciala <- tapply(penguins$body_mass_g, penguins$species, median)
sd_masa_ciala <- tapply(penguins$body_mass_g, penguins$species, sd)
# Wyświetlenie wyników obliczeń
cat("Średnia masa ciała dla każdego gatunku:\n")
## Średnia masa ciała dla każdego gatunku:
print(mean_masa_ciala)
## Adelie Chinstrap Gentoo
## NA 3733.088 NA
cat("\nMediana masy ciała dla każdego gatunku:\n")
##
## Mediana masy ciała dla każdego gatunku:
print(median_masa_ciala)
## Adelie Chinstrap Gentoo
## NA 3700 NA
cat("\nOdchylenie standardowe masy ciała dla każdego gatunku:\n")
##
## Odchylenie standardowe masy ciała dla każdego gatunku:
print(sd_masa_ciala)
## Adelie Chinstrap Gentoo
## NA 384.3351 NA
# Wykres kołowy dla udziału poszczególnych gatunków
library(dplyr)
##
## Dołączanie pakietu: 'dplyr'
## Następujące obiekty zostały zakryte z 'package:stats':
##
## filter, lag
## Następujące obiekty zostały zakryte z 'package:base':
##
## intersect, setdiff, setequal, union
penguins %>%
group_by(species) %>%
summarise(count = n()) %>%
ggplot(aes(x = "", y = count, fill = species)) +
geom_bar(stat = "identity", width = 1) +
coord_polar("y") +
labs(title = "Udział poszczególnych gatunków pingwinów",
x = NULL,
y = NULL) +
theme_void()
# Wykres histogramu rozkładu mas ciała pingwinów
ggplot(penguins, aes(x = body_mass_g)) +
geom_histogram(binwidth = 500, fill = "skyblue", color = "black") +
labs(title = "Rozkład mas ciała pingwinów",
x = "Masa Ciała (g)",
y = "Liczba pingwinów")
# Instalacja i załadowanie pakietu plotly (jeśli nie jest jeszcze zainstalowany)
if (!requireNamespace("plotly", quietly = TRUE)) {
install.packages("plotly")
}
library(plotly)
##
## Dołączanie pakietu: 'plotly'
## Następujący obiekt został zakryty z 'package:ggplot2':
##
## last_plot
## Następujący obiekt został zakryty z 'package:stats':
##
## filter
## Następujący obiekt został zakryty z 'package:graphics':
##
## layout
# Wykres pudełkowy z interaktywnym tooltipem
plot_ly(penguins, x = ~species, y = ~body_mass_g, type = "box",
text = ~paste("Gatunek: ", species, "<br>Masa Ciała: ", body_mass_g)) %>%
layout(title = "Interaktywny Wykres Pudełkowy Masy Ciała",
xaxis = list(title = "Gatunek"),
yaxis = list(title = "Masa Ciała (g)"))
## Warning: Ignoring 2 observations
# Wykres punktowy przedstawiający korelację między długością płetwy a masą ciała pingwina
ggplot(penguins, aes(x = flipper_length_mm, y = body_mass_g)) +
geom_point(alpha = 0.5, color = "darkred") +
labs(title = "Korelacja między długością płetwy a masą ciała pingwina",
x = "Długość Płetwy (mm)",
y = "Masa Ciała (g)")
# Wykres pudełkowy przedstawiający rozkład mas ciała pingwinów w zależności od gatunku
labs(title = "Rozkład mas ciała pingwinów w zależności od gatunku",
x = "Gatunek",
y = "Masa Ciała (g)")
## $x
## [1] "Gatunek"
##
## $y
## [1] "Masa Ciała (g)"
##
## $title
## [1] "Rozkład mas ciała pingwinów w zależności od gatunku"
##
## attr(,"class")
## [1] "labels"
# Instalacja pakietu plotly (jeśli nie jest zainstalowany)
# install.packages("plotly")
# Wczytanie biblioteki plotly
library(plotly)
# Wykres 3D
fig <- plot_ly(penguins, x = ~bill_length_mm, y = ~bill_depth_mm, z = ~body_mass_g,
color = ~species, colors = c("Adelie" = "red", "Chinstrap" = "blue", "Gentoo" = "green"),
marker = list(size = 5, opacity = 0.8)) %>%
add_markers() %>%
layout(scene = list(xaxis = list(title = "Długość Dzioba (mm)"),
yaxis = list(title = "Głębokość Dzioba (mm)"),
zaxis = list(title = "Masa Ciała (g)"),
margin = list(l = 0, r = 0, b = 0, t = 0)))
# Wyświetlenie wykresu
fig
## Warning: Ignoring 2 observations
# Ciekawostki o pingwinach
cat("### Ciekawostki o pingwinach\n\n")
## ### Ciekawostki o pingwinach
cat("1. Pingwiny są doskonałymi pływakami i nurkami. Potrafią zanurkować na głębokość nawet kilkuset metrów.\n")
## 1. Pingwiny są doskonałymi pływakami i nurkami. Potrafią zanurkować na głębokość nawet kilkuset metrów.
cat("2. Gatunek krótkoskrzydłego pingwina Adeli jest najczęściej spotykanym pingwinem w Antarktyce.\n")
## 2. Gatunek krótkoskrzydłego pingwina Adeli jest najczęściej spotykanym pingwinem w Antarktyce.
cat("3. Pingwiny mają specjalne gruczoły, które pomagają im pozbyć się nadmiaru soli z organizmu po spożyciu słonej wody.\n")
## 3. Pingwiny mają specjalne gruczoły, które pomagają im pozbyć się nadmiaru soli z organizmu po spożyciu słonej wody.