Jak mohu vypočítat směrodatnou odchylku (krok za krokem) v R? [uzavřeno]

Uzavřeno. Tato otázka je mimo téma . Momentálně nepřijímá odpovědi.

Komentáře

  • Znáte vzorec pro směrodatnou odchylku? Můžete rozvinout ' krok za krokem '?
  • Ahoj! Ano, věřím, že ano! ' Snažím se vypočítat sd pro konkrétní datovou sadu. Jsem si vědom, že mohu jednoduše použít funkci sd, ale musím ručně vypočítat směrodatnou odchylku souboru dat ", " using R. Jedná se o hodnoty: [1] 179 160 136 227 217 168 108 124 143 140 309 229 181 141 260 203 148 169 213 257 244 [22] 271 243 230 248 327 329 250 193 271 316 267 199 171 158 248 423 340 392 339 341 226 [43] 320 295 334 322 297 318 325 257 303 315 380 153 263 242 206 344 258 368 390 379 260 [64] 404 318 352 359 216 222 283 332 Děkuji!
  • $ variance = \ frac {sum ((x-mean (x)) ^ 2)} {(length (x) -1)} $

odpověď

> a <- c(179,160,136,227) > sd(a) [1] 38.57892 > sqrt(sum((a-mean(a))^2/(length(a)-1))) [1] 38.57892 

Odpovědět

Chcete tedy směrodatnou odchylku vypočítat krok za krokem. Nejprve byste tedy měli vypočítat součet rozdílů všech datových bodů se střední hodnotou.

Mějte proměnnou nazvanou count a nastavte ji na hodnotu 0 .

Za tímto účelem procházíte datovou sadu s proměnnou, řekněme i a odečtěte i pokaždé s průměrem. Průměr lze vypočítat jako mean(dataset).

Přidejte výsledek každé iterace smyčky k výpočtu count = count + (i-mean)^2

Nyní rozdělte proměnnou count na len(dataset) - 1

Výsledkem je rozptyl. Pro výpočet směrodatné odchylky tedy musíte druhou mocninu výše uvedené hodnoty.

V R to uděláte takto: sqrt(variance)

Konečně výsledkem, který získáte po použití druhé odmocniny, je standardní odchylka.

Komentáře

  • " + = " není operátor v R
  • Glen_b Děkuji. Úpravy hotovo. Šlo o formát pseudoalga.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *