Hur kan jag beräkna standardavvikelse (steg för steg) i R? [stängd]

<åt sidan class = "s-notice s-notice__info js-post-notice mb16" role = "status">

Stängd. Denna fråga är utanför ämnet . För närvarande accepteras inte svar.

Kommentarer

  • Känner du till formeln för standardavvikelse? Kan du utarbeta ' steg för steg '?
  • Hej! Ja, det tror jag! Jag ' jag försöker beräkna sd för en specifik datamängd. Jag är medveten om att jag helt enkelt kan använda sd-funktionen, men jag måste beräkna standardavvikelsen för en datamängd " för hand, " med R. Dessa är värdena: [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 171158 248 423 340 392339 341226 [43] 320 295 334 322 297 318 325 257 303 315 380 153 263 242 206 344 258 368 390 379 260 [64] 404318 352 359 216 222 283 332 Tack!
  • $ varians = \ frac {sum ((x-medelvärde (x)) ^ 2)} {(längd (x) -1)} $

Svar

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

Svar

Så du vill beräkna standardavvikelsen steg för steg. Så först bör du beräkna summan av skillnaderna för alla datapunkter med medelvärdet.

Ha en variabel som heter count och sätt den till värdet 0 .

För det går du igenom datamängden med en variabel, säger i och subtraherar i varje gång med medelvärdet. Medelvärdet kan beräknas som mean(dataset).

Lägg till resultatet av varje loop-iteration som ska räknas med count = count + (i-mean)^2

Dela nu räknevariabeln med len(dataset) - 1

Resultatet är variansen. Så för att beräkna standardavvikelsen måste du kvadratrota ovanstående värde.

I R gör du detta som: sqrt(variance)

Slutligen är resultatet du får efter appliceringen av kvadratroten standardavvikelsen.

Kommentarer

  • " + = " är inte en operatör i R
  • Glen_b Tack. Redigera gjort. Gick med pseudo algo-formatet.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *