Hogyan számíthatom ki a szórást (lépésről lépésre) R-ben? [zárt]

Zárt. Ez a kérdés témán kívül van . Jelenleg nem fogadja el a válaszokat.

Megjegyzések

  • Ismeri a szórás képletét? Bővebben részletezheti a ' részleteket '?
  • Sziasztok! Igen, hiszem, hogy csináld! ' m megpróbálom kiszámítani az SD-t egy adott adathalmazra. Tisztában vagyok azzal, hogy egyszerűen használhatom az sd függvényt, de kézzel kell kiszámítanom egy " adatkészlet szórását, " R-t használva. Ezek az értékek: [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 Köszönöm!
  • $ variancia = \ frac {összeg ((x-közép (x)) ^ 2)} {(hossz (x) -1)} $

Válasz

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

“”

Válasz

Tehát lépésről lépésre szeretné kiszámolni a szórást. Tehát először is ki kell számolnia az összes adatpont különbségének összegét az átlaggal.

Legyen egy count nevű változó, és állítsa 0-ra. .

Ehhez át kell váltania az adathalmazon egy változóval, mondjuk: i és minden alkalommal kivonjuk az i az átlaggal. Az átlag kiszámítható: mean(dataset).

Adja hozzá a számlálandó ciklusok mindegyikének eredményét count = count + (i-mean)^2

Most ossza el a számláló változót len(dataset) - 1

Az eredmény a variancia. Tehát a szórás kiszámításához négyzetgyökerűen kell megadnia a fenti értéket.

Az R-ben ezt így kell tennie: sqrt(variance)

Végül a négyzetgyök alkalmazása után kapott eredmény a szórás.

Megjegyzések

  • " + = " nem operátor a R
  • Glen_b köszönöm. Szerkesztés kész. Az ál algo formátummal járt.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük