Hur man beräknar rörliga genomsnittsvärden i Excel Excel-dataanalys för dummies, andra utgåvan Kommandot Data Analysis ger ett verktyg för att beräkna flytande och exponentiellt jämnvärda medelvärden i Excel. Antag, för att illustrera det, att du har uppsamlat daglig temperaturinformation. Du vill beräkna det tre dagars glidande medlet 8212 i genomsnitt av de senaste tre dagarna 8212 som en del av några enkla väderprognoser. För att beräkna glidmedel för denna dataset, gör följande steg. För att beräkna ett glidande medelvärde klickar du först på kommandoknappen Data tab8217s Data Analysis. När Excel visar dialogrutan Dataanalys väljer du objektet Flyttande medel från listan och klickar sedan på OK. Excel visar dialogrutan Rörlig medelvärde. Identifiera de data som du vill använda för att beräkna det glidande medlet. Klicka i textrutan Inmatningsområde i dialogrutan Rörlig medelvärde. Identifiera sedan ingångsintervallet, antingen genom att skriva in en arbetsbladets intervalladress eller genom att använda musen för att välja arbetsbladets intervall. Din referensreferens bör använda absoluta celladresser. En absolut celladress föregår kolumnbokstaven och radnumret med tecken, som i A1: A10. Om den första cellen i ditt inmatningsområde innehåller en textetikett för att identifiera eller beskriva dina data markerar du kryssrutan Etiketter i första raden. I Excel-textrutan berättar Excel hur många värden som ska inkluderas i den genomsnittliga beräkningen. Du kan beräkna ett glidande medelvärde med ett antal värden. Som standard använder Excel de senaste tre värdena för att beräkna det glidande genomsnittet. Om du vill ange att ett annat antal värden används för att beräkna det glidande genomsnittet, anger du det här värdet i textrutan Intervall. Berätta Excel var du ska placera de glidande medelvärdena. Använd textrutan Utmatningsområde för att identifiera det arbetsarksintervall som du vill placera den rörliga genomsnittsdata för. I kalkylbladsexemplet har den glidande genomsnittsdata placerats i kalkylbladintervallet B2: B10. (Valfritt) Ange om du vill ha ett diagram. Om du vill ha ett diagram som visar den glidande genomsnittliga informationen markerar du kryssrutan Diagramutmatning. (Valfritt) Ange om du vill beräkna standard felinformation. Om du vill beräkna standardfel för data väljer du kryssrutan Standardfel. Excel placerar standardfelvärden bredvid de glidande medelvärdena. (Standardfelinformationen går in i C2: C10.) När du har slutfört ange vilken flyttbar genomsnittsinformation du vill ha beräknad och var du vill placera den, klicka på OK. Excel beräknar glidande medelinformation. Obs! Om Excel doesn8217t har tillräckligt med information för att beräkna ett glidande medelvärde för ett standardfel placerar det felmeddelandet i cellen. Du kan se flera celler som visar detta felmeddelande som ett värde. Flytta genomsnitt i R Såvitt jag vet har R inte en inbyggd funktion för att beräkna glidande medelvärden. Med hjälp av filterfunktionen kan vi dock skriva en kort funktion för glidande medelvärden: Vi kan sedan använda funktionen på alla data: mav (data) eller mav (data, 11) om vi vill ange ett annat antal datapunkter än standard 5-plottningen fungerar som förväntat: plot (mav (data)). Förutom antalet datapunkter över vilka i genomsnitt kan vi också ändra sidoperspektivet för filterfunktionerna: sides2 använder båda sidor, sidor1 använder endast tidigare värden. Dela detta: Postnavigering Kommentarnavigering KommentarnavigeringJag har en daglig tidsserie och jag försöker beräkna ett 10-års glidande medelvärde på den. Problemet med att jag har är att det rörliga genomsnittet måste ligga på en rullande delmängd av data (de 10 perioderna är inte angränsande). Jag behöver ett genomsnitt över de senaste 10 veckorna, från och med idag. Dagens värde skulle vara ett genomsnitt av todayvalue från 5 dagar sedan värde från 10 dagar sedan. värde från 45 dagar sedan För att beräkna värderingar i gårdag vill jag ha gårdagens värde från 6 dagar från 11 dagar sedan. värde från 46 dagar sedan. Ive försökte följande: Där wtzd är en vektor av vikter och data är ett xts-tidsserieobjekt. Uppgifterna innehåller dagliga observationer från 2006-04-19 till 2017-02-03 Den här koden fungerar genom att den returnerar korrekta värden, men den returnerar bara veckovisa siffror, medan jag vill att medelvärdet beräknas för varje dag. Så jag får data tillbaka från ovanstående för 2017-02-032017-01-272017-01-20. Medan jag vill ha data tillbaka för varje dag, 2017-02-032017-02-02. Jag tror att det måste finnas en rakt framåtlösning, jag kan bara inte hämta det. Ive försökte köra rulllapp och några andra tillämpa funktioner, men ingen tur. Vägningsvektorn genereras av: Ett urval av de korrekta returvärdena jag letar efter efter datum är: 2017-02-03-0.04354639 (vilket är viktat medelvärde för varje femte värde (så 2017-02-032017-01-27. 20161129 ) 2017-02-02-0.04536664 (som viktas avg 2017-02-02. 20161128) Här är ett urval av data: Jag försökte också köra din rolllapply funktion på egen och det ger inte rätt svar. Jag tror att det går igång med kontinuerliga 10-dagars perioder. Det är, jag sprang: rulllapply (dxycopw, width10, weighted. mean, w (1:10) 55, na. rmTzwnj8203RUE, fillNA, alignquotrzwnj8203ightquot) ndash DM2017 23 februari kl 21: 10 Här är ett exempel från datakamp för att använda en grupp i data. table. Jag kunde ha varit mer explicit i mitt exempel genom att prefixa det sista argumentet till data. table med en byDateIndex. Det får rowapply att aggregeras av DateIndex istället av hela datatabellen. ndash MelissaG 23 februari kl 22:14 Jag gillar databordslösningen där du paddlar i de saknade datumen och använder sedan rollmean från zoo-paketet för att få det glidande genomsnittet. Det är svårt att visa utan en provdatasats. Jag skapade en falsk och tar sedan bort några datum för att visa hur man löser saknade. Förhoppningsvis förstod jag din fråga korrekt. För att lägga till veckotalvärden och sedan beräkna ett rullande 10 veckors medelvärde med samma strategi med rollmean: Hur man beräknar glidande medelvärde utan att använda filter () Det finns ett zillion svar på detta, för din fråga är verkligen: Hur släpper jag bort en tidsserie Så du kan söka på lämpliga sökord. Mitt svar är: Använd inte glidande medelvärden - det är patetiskt gammalt. Loess är en av de zillioner av alternativ du kan överväga. Posta på CV (statistik. stackexchange) för andra statistiska alternativ för tidsserieutjämning. Också den kvoteringskvot du uttryckte ovan är felaktig. konstruktioner av tillämpad typ är (R-nivå) slingor. Så har du gjort dina läxor genom att läsa En Intro till R (cran. r-project. orgdocmanualsR-intro. pdf) eller andra webbtutorials. Om inte, gör det innan du skickar vidare. Bert Gunter Genentech Nonclinical Biostatistics (650) 467-7374 quotData är inte information. Information är inte kunskap. Och kunskap är verkligen inte visdom. Quot H. Gilbert Welch På måndag 17 februari 2014 kl. 10:45 skrev C W lthidden email gt: gt Hej lista, gt Hur räknar jag ett glidande medelvärde utan att använda filter (). Filter () tycks inte ge viktade medelvärden. gt gt jag tittar på tillämpa (), tapply. Men inget kvittot. gt gt Till exempel, gt gt datlt-c (1:20) gt-medelvärdet (dat1: 3) gt-medelvärdet (dat4: 6) gt-medelvärdet (dat7: 9) gt-medelvärdet (dat10: 12) gt gt etc. förstå punkten att tillämpa är att undvika loopar, hur ska jag införliva gt denna idé till att använda en tillämpning () gt gt Tack, gt Mike gt gt alternativ HTML-version borttagen gt gt gt dold email-postlista gt stat. ethz. chmailmanlistinfor-help gt Läs läsningsguiden R-project. orgposting-guide. html gt och ge kommentar, minimal, fristående, reproducerbar kod. Svar på det här inlägget av tmrsg11 Den 17 februari 2014 kl. 10:45 skrev CW: gt Hej lista, gt Hur räknar jag ett glidande medelvärde utan att använda filter (). Filter () tycks inte ge viktade medelvärden. gt gt jag tittar på tillämpa (), tapply. Men inget kvittot. gt gt Till exempel, gt gt datlt-c (1:20) gt-medelvärdet (dat1: 3) gt-medelvärdet (dat4: 6) gt-medelvärdet (dat7: 9) gt-medelvärdet (dat10: 12) gt gt etc. förstå punkten att tillämpa är att undvika loopar, hur ska jag införliva gt denna idé till att använda en tillämpa () gt Konstruera en vektor för att gruppera och använda tapply. Modulo division är en vanlig metod för att uppnå detta. Ibland kan seq-funktionen användas om du justerar längden ordentligt. gt tapply (dat, (0: (längd (dat) -1)) 3, medelvärde) 0 1 2 3 4 5 6 2,0 5,0 8,0 11,0 14,0 17,0 19,5 tapply (dat, runda (seq 3), lenlängd (dat))), medelvärde) 1 2 3 4 5 6 7 1,5 4,5 8,0 11,0 14,5 18,0 20,0 Kommentaren om viktningsdos verkar inte exemplifieras i ditt exempel. gt Tack, gt Mike gt gt alternativ HTML-version raderad gt gt gt dold email-postlista gt stat. ethz. chmailmanlistinfor-help gt Var god läs postguiden R-project. orgposting-guide. html gt och ge kommentar, minimal, själv - behandlad, reproducerbar kod. David Winsemius Alameda, CA, USA Öppna detta inlägg i gängat perspektiv Rapportera innehåll som olämpligt Re: Hur man beräknar glidande medelvärde utan att använda filter () I svar på detta inlägg av Rui Barradas För 5 poäng glidande medel, filtrera (x, side2, filterrep (15, 5)), mot, filter (x, side2, filterrep (1, 5) Har de samma effekt, eftersom summan måste vara 1. Gabor Amp Rui: Jag är medveten om djurparken, jag gjorde Jag vill inte installera ett paket för en funktion. Samma orsak till sos-paketet. David, tack, det är vad jag letar efter. På måndag 17 februari 2014 kl 02:07 skrev Rui Barradas lthidden email gt: gt Hello , gt gt Många paket har en movind-medelfunktion, till exempel paket gtprognos. Eller gt gtbibliotek (sos) gt findFn (quotmoving averagequot) gt gt I ditt exempel är vad du beräknar inte exakt ett glidande medelvärde, men i gt kan beräknas med något som följande. gt gt s lt - (seqalong (dat) - 1) 3 gt sapply (split (dat, s), mean) gt Hoppas det här hjälper, gt gt Rui Barra das gt gt Em 17-02-2014 18:45, C W escreveu: gt gtgt Hej lista, gtgt Hur räknar jag ut ett glidande medelvärde utan att använda filter (). filter () tycks inte ge viktade medelvärden. gtgt gtgt Jag letar efter ansökan (), tapply. Men inget kvittot. gtgt gtgt Exempel: gtgt gtgt datlt-c (1:20) gtgt medelvärde (dat1: 3) gtgt-medelvärde (dat4: 6) gtgt-medelvärde (dat7: 9) gtgt-medelvärde (dat10: 12) gtgt gtgt etc. gtgt gtgt I förstå punkten att tillämpa är att undvika loopar, hur ska jag ta med denna idé till att använda en tillämpning () gt gt gtgt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gtgt gtgt hidden email maillist gt gt stat. ethz. chmailmanlistinfor - help gtgt Läs läsningsguiden R-project. org gtgt posting-guide. html gtgt och ge kommentar, minimal, fristående, reproducerbar kod. Gtgt gtgt alternativ HTML-version raderad
No comments:
Post a Comment