Flytte Gjennomsnittet Hjelp Sas


Eksempelkoden på fanen Fullkode illustrerer hvordan du beregner det bevegelige gjennomsnittet av en variabel gjennom et helt datasett, over de siste N-observasjonene i et datasett eller over de siste N-observasjonene i en BY-gruppe. Disse utvalgsfiler og kodeeksempler er levert av SAS Institute Inc, som er uten garanti av noe slag, enten uttrykkelig eller underforstått, inkludert, men ikke begrenset til, de underforståtte garantiene for salgbarhet og egnethet for et bestemt formål. Mottakerne erkjenner og godtar at SAS Institute ikke er ansvarlig for noen skader uansett som følge av bruken av dette materialet. I tillegg vil SAS Institute ikke gi støtte til materialene som er inkludert her. Disse eksemplarfilene og kodeeksemplene er levert av SAS Institute Inc, slik det er uten garantier av noe slag, enten uttrykk eller underforstått, inkludert, men ikke begrenset til, de underforståtte garantiene for salgbarhet og egnethet til et bestemt formål Mottakerne erkjenner og er enige om at SAS Institute ikke skal være liablert e for eventuelle skader som oppstår som følge av deres bruk av dette materialet. I tillegg vil SAS Institute ikke gi støtte for materialene som er indeholdt heri i det bevegelige gjennomsnittet av en variabel gjennom et helt datasett, over de siste N observasjonene i et datasett, eller over de siste N-observasjonene i en BY-gruppe. I SAS-systemets utgave 6 08 kan PROC EXPAND i SAS ETS-programvaren brukes til å lage en rekke datatransformasjoner. Disse transformasjonene inkluderer leder, lags, vektet og uvevet glidende gjennomsnitt, flytende summer og kumulative summer, for å nevne noen Mange nye transformasjoner ble lagt til i utgivelse 6 12, inkludert separate spesifikasjoner for sentrert og bakovergående gjennomsnitt. Disse nye transformasjonene gjorde det nødvendig å endre syntaksen for noen av transformasjonene som ble støttet før utgivelse 6 12 Eksempler på hvordan du angir syntaxen for sentrert og bakovergående gjennomsnitt som bruker Release 6 11 og tidligere og Release 6 12 og senere er gitt nedenfor. PROC EXPAN D kan beregne enten et sentrert glidende gjennomsnitt eller et bakovergående glidende gjennomsnitt. Et 5-års sentrert glidende gjennomsnitt beregnes ved å averdere totalt 5 sammenhengende verdier i serien den nåværende perioden i tillegg til de to umiddelbart foregående verdiene og to verdier umiddelbart etterfølgende den nåværende verdien A 5-årig bakovergående glidende gjennomsnitt beregnes ved å gjennomsnittlig gjeldende periodeverdi med verdiene fra de fire umiddelbart foregående periodene. Følgende syntaks illustrerer hvordan man bruker TRANSFORM MOVAVE n-spesifikasjonen for å beregne et 5-års sentrert glidende gjennomsnitt ved å bruke Slett 6 11 eller tidligere. For å beregne et n-periode bakovergående glidende gjennomsnitt ved å bruke Slett 6 11 eller tidligere, bruk TRANSFORM MOVAVE n LAG k-spesifikasjonen, hvor k n-1 2 hvis n er merkelig eller hvor k n-2 2 hvis n er jevn For eksempel illustrerer følgende syntaks hvordan du beregner et 5-årig bakovergående glidende gjennomsnitt ved hjelp av Slett 6 11 eller tidligere. Følgende syntaks illustrerer hvordan du bruker TRANSFORM CMOVAVE n spe cifisering for å beregne et 5-årig sentrert glidende gjennomsnitt ved å bruke Slett 6 12 eller nyere. Følgende lignende syntaks illustrerer hvordan man bruker TRANSFORM MOVAVE n-spesifikasjonen for å beregne et 5-årig bakovergående glidende gjennomsnitt ved bruk av Slett 6 12 eller nyere. For mer informasjon, se Transformasjonsoperasjoner i EXPAND-kapitlet i SAS ETS User's Guide. Hvis du ikke har tilgang til SAS ETS, kan du beregne et bevegelige gjennomsnitt i DATA-trinnet som illustrert i dette utvalgsprogrammet. Operativsystem og utgivelsesinformasjon. Jeg ma SAS nybegynner og jeg er nysgjerrig på om følgende oppgave kan gjøres mye enklere som den er i mitt hode. Jeg har følgende forenklede metadata i et bord som heter userdatemoney. User - Date - Money. with ulike brukere og datoer for hver kalender dag for de siste 4 årene Dataene er bestilt av User ASC og Date ASC, prøver data ser slik ut. I nå vil jeg beregne et fem dagers glidende gjennomsnitt for pengene jeg startet med den ganske populære apprach med lag-funksjonen Som dette ser du. Problemet med denne metoden oppstår hvis der hvis datastrømmen går inn i en ny bruker, vil Aron få noen forsinkede verdier fra Anna, som selvfølgelig ikke skal skje. Nå er jeg ganske sikker på at du kan håndtere brukerbryter ved å legge til noen ekstra felt som laggeduser og ved å tilbakestille N, Sum og Mean variables hvis du merker en slik bryter, men. Kan dette gjøres på en enklere måte Kanskje bruker BY-klausulen på noen måte Takk for dine ideer og hjelp. Jeg tror den enkleste måten er å bruke PROC EXPAND. Og som nevnt i John s kommentar, er det viktig å huske om manglende verdier og om begynnelse og slutt på observasjoner også. Jeg har lagt til SETMISS-alternativet til koden, som du gjorde det klart at du vil nullstille verdier, ikke ignorere dem som standard MOVAVE-oppførsel Og hvis du vil ekskludere første 4 observasjoner for hver bruker siden de ikke har nok forhistorie til å beregne glidende gjennomsnitt 5, kan du bruke alternativet TRIMLEFT 4 i TRANSFORMOUT. answered Des 3 13 ved 15 29.

Comments

Popular Posts