logo

Jak najít směrodatnou odchylku v R?

V tomto článku budeme diskutovat o tom, jak najít směrodatnou odchylku v Programovací jazyk R . Směrodatná odchylka R je mírou rozptylu hodnot. Lze ji také definovat jako druhou odmocninu rozptylu.

Vzorec standardní odchylky vzorku:



s = sqrt{frac{1}{N-1}displaystylesumlimits_{i=1}^N(x_i-overline{x})^2 }

kde,

  • s = výběrová směrodatná odchylka
  • N = Počet entit
  • overline{x}= Průměr entit

V zásadě existují dva různé způsoby výpočtu standardní odchylky v programovacím jazyce R, oba jsou popsány níže.



Metoda 1: Naivní přístup

V tomto způsobu výpočtu směrodatné odchylky budeme používat výše uvedený standardní vzorec výběrové směrodatné odchylky v jazyce R.

Příklad 1:

R

v <->c>(12,24,74,32,14,29,84,56,67,41)> s<->sqrt>(>sum>((v->mean>(v))^2/(>length>(v)-1)))> print>(s)>
>
>

Výstup:



[1]   25.53886>

Příklad 2:

R

v <->c>(1.8,3.7,9.2,4.7,6.1,2.8,6.1,2.2,1.4,7.9)> s<->sqrt>(>sum>((v->mean>(v))^2/(>length>(v)-1)))> print>(s)>
>
>

Výstup:

[1] 2.676004>

Metoda 2: Použití sd()

Funkce sd() se používá k vrácení směrodatné odchylky.

Syntax: sd(x, na.rm = FALSE)

Parametry:

    x: číselný vektor, matice nebo datový rámec.na.rm: mají být chybějící hodnoty odstraněny?

Vrátit se: Vzorová směrodatná odchylka x.

Příklad 1:

R

v <->c>(12,24,74,32,14,29,84,56,67,41)> s<->sd>(v)> print>(s)>
>
>

Výstup:

[1] 25.53886>

Příklad 2:

R

v <->c>(71,48,98,65,45,27,39,61,50,24,17)> s1<->sqrt>(>sum>((v->mean>(v))^2/(>length>(v)-1)))> print>(s1)> s2<->sd>(v)> print>(s2)>
>
>

Výstup:

[1] 23.52175>

Příklad 3:

R

v <->c>(1.8,3.7,9.2,4.7,6.1,2.8,6.1,2.2,1.4,7.9)> s1<->sqrt>(>sum>((v->mean>(v))^2/(>length>(v)-1)))> print>(s1)> s2<->sd>(v)> print>(s2)>
>
>

Výstup:

[1] 2.676004>

Vypočítejte směrodatnou odchylku datového rámce:

Směrodatnou odchylku datového rámce můžeme vypočítat pomocí obou metod. můžeme vzít datovou sadu duhovky a pro každý sloupec vypočítáme směrodatnou odchylku.

Příklad 1:

R

data>(iris)> sd>(iris$Sepal.Length)> sd>(iris$Sepal.Width)> sd>(iris$Petal.Length)> sd>(iris$Petal.Width)>
>
>

Výstup:

[1] 0.8280661 [1] 0.4358663 [1] 1.765298 [1] 0.7622377>

Můžeme také vypočítat směrodatnou odchylku pro celý datový rámec společně s pomocí funkce Apply.

R

# Load the iris dataset> data>(iris)> # Calculate the standard deviation for each column> std_deviation <->apply>(iris[, 1:4], 2, sd)> # Display the standard deviation values> print>(std_deviation)>
>
>

Výstup:

Sepal.Length Sepal.Width Petal.Length Petal.Width 0.8280661 0.4358663 1.7652982 0.7622377>

Sloupce 1 až 4 datové sady duhovky, což jsou číselné sloupce nesoucí měření proměnných, jsou vybrány pomocí výrazu iris[, 1:4] ve výše uvedeném kódu.

v pořádku

Funkce sd je aplikována na každý sloupec (označený 2) zvolené podmnožiny datové sady iris pomocí funkce použít. Výsledné hodnoty směrodatné odchylky jsou uloženy ve vektoru std_deviation pro každý sloupec.