Kuinka voin laskea keskihajonnan (vaihe vaiheelta) R: ssä? [suljettu]

Suljettu. Tämä kysymys on aiheen ulkopuolella . Se ei tällä hetkellä hyväksy vastauksia.

Kommentit

  • Tiedätkö keskihajonnan kaavan? Voitko tarkentaa ' vaihe vaiheelta '?
  • Hei! Kyllä, uskon! ' m yritän laskea sd tietylle tietojoukolle. Tiedän, että voin käyttää yksinkertaisesti SD-toimintoa, mutta minun on laskettava tietojoukon keskihajonta " käsin, " käyttäen R: tä. Nämä ovat arvot: [1] 179 160136227 217168108124143 140309229181141 260203148169 213257244 [22] 271 243 230 248 327 329 250 193 271 316 267 199 171 158 248 423 340 392 339 341222 [43] 320295 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 Kiitos!
  • $ varianssi = \ frac {summa ((x-keskiarvo (x)) ^ 2)} {(pituus (x) -1)} $

vastaus

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

” ”

Vastaa

Joten haluat laskea keskihajonnan askel askeleelta. Ensinnäkin sinun on laskettava kaikkien datapisteiden keskiarvojen erojen summa.

Pyydä muuttujaa nimeltä count ja asettamaan se arvoon 0 .

Tätä varten käydään läpi tietojoukko muuttujalla, sanotaan i ja vähennetään i joka kerta keskiarvon kanssa. Keskiarvo voidaan laskea muodossa mean(dataset).

Lisää jokaisen laskettavan silmukka-iteraation tulos count = count + (i-mean)^2

Jaa nyt muuttuja len(dataset) - 1

Tuloksena on varianssi. Joten vakiopoikkeaman laskemiseksi sinun on neliöjuuri yllä oleva arvo.

R: ssä teet tämän seuraavasti: sqrt(variance)

Lopuksi tulos, jonka saat neliöjuuren soveltamisen jälkeen, on keskihajonta.

Kommentit

  • " + = " ei ole operaattori ryhmässä R
  • Glen_b Kiitos. Muokkaus valmis. Meni pseudo-algo-muodossa.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *