Tuesday 31 October 2017

Ddply Gleitenden Durchschnitt


Im ein R Neuling und Im, das viel Mühe hat, etwas zu tun, das vermutlich sehr einfach ist. Ich habe einen großen Datensatz aufgeteilt in Gruppen nach Ländercode, und ich möchte einen dreimonatigen rollenden Durchschnitt von einem Preisindex, nach Land zu nehmen, und dann legte es in eine neue Spalte, die bis zum entsprechenden Monat übereinstimmt. Ich habe versucht, Rollmean wie folgt verwenden, ohne Erfolg (Code-und Fehlermeldungen unten): Jede Hilfe wäre viel geschätzt gefragt Mar 10 12 at 6:42 In Ihrem ersten Versuch verwendet Ihre Funktion nicht ihre x-Argument und immer zurück Die gleiche Sache (ein Vektor mit der falschen Größe). Darüber hinaus sollte das erste Argument, ein Vektor sein. Schließlich liefert tapply eine Liste von Vektoren zurück: Sie können das Ergebnis nicht direkt in ein data. frame setzen. In Ihrem zweiten Beispiel sollte das dritte Argument von plyr eine Funktion sein, kein Ausdruck. Wenn Sie einen Ausdruck verwenden möchten, können Sie summarize oder transform als Funktion verwenden (summarize gibt ein 1-row data. frame für jeden Wert von ccode zurück, während transform die Anzahl der Zeilen unverändert bleibt) und die Ausdrücke als weitere Argumente setzen . Ich habe eine Längs-Follow-up von Blutdruckaufzeichnungen. Der Wert an einem bestimmten Punkt ist weniger prädiktiv als der gleitende Durchschnitt (rollender Mittelwert), weswegen Id es berechnen möchte. Die Daten sehen aus wie Id zu berechnen eine neue Variable, genannt BLOODPRESSUREUPDATED. Diese Variable sollte der gleitende Durchschnitt für BLOODPRESSURE sein und die folgenden Merkmale aufweisen: Ein gleitender Durchschnitt ist der aktuelle Wert plus der vorherige Wert geteilt durch zwei. Für die erste Beobachtung ist die BLOODPRESSUREUPDATED nur die aktuelle BLOODPRESSURE. Wenn das fehlt, sollte BLOODPRESSUREUPDATED das Gesamtmittel sein. Fehlende Werte sollten mit dem nächsten vorherigen Wert ausgefüllt werden. Ive versuchte die folgenden: Ich habe auch versucht rollaply und rollmeanr ohne Erfolg. Id schätzen einige Hilfe. Bei der Berechnung des gleitenden Mittelwertes ist die Anzahl der zurückgegebenen Elemente kleiner als die Anzahl der Zeilen der Daten, d. h. es werden nur die quotn-1quot-Elemente zurückgegeben. So kann das Problem hier verursacht werden. Oder würden Sie erwägen, die gleitende mittlere Spalte separat hinzuzufügen, zB: test2BLOODPRESSUREUPDATED lt - mit (test2, c (Mittelwert (BLOODPRESSURE, na. rm T), rollapply (BLOODPRESSURE, 2, mean, na. rm T))) ndash KFB Oct 5 14 am 3:40 Vielen Dank für die Bemühung KFB. Leider hat es nicht geklappt. Ich versuchte ein paar bearbeitete Versionen sowie. Vielleicht sind die Zoo-Funktionen nicht dafür geeignet, habe ich folgendes codiert, das funktioniert: test5 lt-test testum lt - rep (NA, nrow (test5)) test5first lt - duplicated (test5ID) für (i in 1: nrow Test5)) else test5 Aber es ist unglaublich langsam. Ndash Adam Robinsson Oct 5 14 at 7: 09plyr Moving durchschnittlichen Filter mit plyr Hallo, Kann das hilfreich sein: lst1lt-dlply (Daten,. (FileNo, ChannelNo), transform, filteredapplyfilter (ChannelB)) data2lt-do. call (rbind, (Lst1, Funktion (x))) row. names (data2) lt-row. names (Daten) Kopf (Daten, 3) Zeit ChannelA KanalB FileNo ChannelNo 1161 1.83214e-05 4.527559 6.873434 1 1 1171 2.36814e-05 4.881890 13602919 1 1 1181 2.90414e-05 4.803150 21.092224 1 1 Kopf (data2,3) Zeit ChannelA KanalB FileNo ChannelNo gefiltert 1161 1.83214e-05 4.527559 6.873434 1 1 NA 1171 2.36814e-05 4.881890 13.602919 1 1 NA 1181 2.90414e-05 4.803150 21.092224 1 1 17.04348 AK ----- Ursprüngliche Nachricht ----- Von: Ingo Reinhold lthidden email gt An: quothidden email address lthidden email gt Cc: Gesendet: Dienstag, 27. August 2013 09:17 Subject: R plyr Moving durchschnittlicher Filter mit plyr Im stecken mit einem Problem mit plyr zu verarbeiten eine ziemlich große Müll von Daten. Was Im zu tun versuchen, ist die Anwendung eines gleitenden Durchschnitt auf alle Unterteile des dataframe (die Beispieldaten finden Sie hier dl. dropboxusercontentu2414056testData. Rdata). (Filtern (x, rep (15, times5))) data. trashlt-ddply (Daten (FileNo, ChannelNo), transformieren, filteredapplyfilter (ChannelB)) Das Ergebnis ist ein Fehler in Attributen ( Outputvar) lt-Attribute (Wert). Ungültige Zeitreihenparameter angegeben, obwohl die Anzahl der Rückgabewerte für mich richtig erscheint. Haben Sie irgendwelche Gedanken oder Vorschläge alternative HTML-Version gelöschte versteckte E-Mail-Mailingliste stat. ethz. chmailmanlistinfor-help BITTE lesen Sie die Posting-Leitfaden R-project. orgposting-guide. html und geben kommentierten, minimalen, in sich geschlossenen, reproduzierbaren Code. Oder data2lt-ddply (Daten,. (FileNo, ChannelNo), transformieren, filteredas. numeric (applyfilter (ChannelB))) A. K. ----- Ursprüngliche Nachricht ----- Von: arun lthidden email gt An: Ingo Reinhold lthidden email gt Cc: R help lthidden email gt Gesendet: Dienstag, 27. August 2013 10:03 Thema: Re: R plyr Gibt an, dass der Filter mit plyr Hallo, kann dies helfen: lst1lt-dlply (Daten,. (FileNo, ChannelNo), transformieren, filteredapplyfilter (ChannelB)) data2lt-do. call (rbind, lapply (lst1, function (x))) (Data2) lt-row. names (Daten) Kopf (Daten, 3) Zeit ChannelA ChannelB FileNo ChannelNo 1161 1.83214d-05 4.527559 6.873434 1 1 1171 2.36814e-05 4.881890 13.602919 1 1 1181 2.90414e-05 4.803150 21.092224 1 1 Kopf (Daten2,3) Zeit Kanal A Kanal B FileNo KanalNein gefiltert 1161 1,83214e-05 4,527559 6,873434 1 1 NA 1171 2,36814e-05 4,881890 13,602919 1 1 NA 1181 2,90414e-05 4,803150 21,092224 1 1 17,04348 AK ----- Ursprüngliche Nachricht ----- Von: Ingo Reinhold lthidden email gt An: quothidden email address lthidden email gt Cc: Gesendet: Dienstag, 27. August 2013 09:17 Subject: R plyr Moving durchschnittlicher Filter mit plyr Im stecken mit einem Problem mit plyr zu verarbeiten eine ziemlich große Müll von Daten. Was Im zu tun versuchen, ist die Anwendung eines gleitenden Durchschnitt auf alle Unterteile des dataframe (die Beispieldaten finden Sie hier dl. dropboxusercontentu2414056testData. Rdata). (Filtern (x, rep (15, times5))) data. trashlt-ddply (Daten (FileNo, ChannelNo), transformieren, filteredapplyfilter (ChannelB)) Das Ergebnis ist ein Fehler in Attributen ( Outputvar) lt-Attribute (Wert). Ungültige Zeitreihenparameter angegeben, obwohl die Anzahl der Rückgabewerte für mich richtig erscheint. Haben Sie irgendwelche Gedanken oder Vorschläge alternative HTML-Version gelöschte versteckte E-Mail-Mailingliste stat. ethz. chmailmanlistinfor-help BITTE lesen Sie die Posting-Leitfaden R-project. orgposting-guide. html und geben kommentierten, minimalen, in sich geschlossenen, reproduzierbaren Code. Vielen Dank. Aber warum ist das Die Funktion applyfilter sollte ein numerisches Ergebnis zurückgeben, sollte es nicht Ingo Von: arun versteckte E-Mail Gesendet am: Dienstag, 27. August 2013 16:06 An: Ingo Reinhold Cc: R help Betreff: Re: R plyr Moving Average Filter Mit plyr oder data2lt-ddply (Daten,. (FileNo, ChannelNo), transformieren, filteredas. numeric (applyfilter (ChannelB))) AK ----- Ursprüngliche Nachricht ----- Von: arun lthidden email gt An: Ingo Reinhold lthidden email gt Cc: R help lthidden email gt Gesendet: Dienstag, 27. August 2013 10:03 Thema: Re: R plyr Gibt an, dass der Filter mit plyr Hallo, kann dies helfen: lst1lt-dlply (Daten,. (FileNo, ChannelNo), transformieren, filteredapplyfilter (ChannelB)) data2lt-do. call (rbind, lapply (lst1, function (x))) (Data2) lt-row. names (Daten) Kopf (Daten, 3) Zeit ChannelA ChannelB FileNo ChannelNo 1161 1.83214d-05 4.527559 6.873434 1 1 1171 2.36814e-05 4.881890 13.602919 1 1 1181 2.90414e-05 4.803150 21.092224 1 1 Kopf (Daten2,3) Zeit Kanal A Kanal B FileNo KanalNein gefiltert 1161 1,83214e-05 4,527559 6,873434 1 1 NA 1171 2,36814e-05 4,881890 13,602919 1 1 NA 1181 2,90414e-05 4,803150 21,092224 1 1 17,04348 AK ----- Ursprüngliche Nachricht ----- Von: Ingo Reinhold lthidden email gt An: quothidden email address lthidden email gt Cc: Gesendet: Dienstag, 27. August 2013 09:17 Subject: R plyr Moving durchschnittlicher Filter mit plyr Im stecken mit einem Problem mit plyr zu verarbeiten eine ziemlich große Müll von Daten. Was Im zu tun versuchen, ist die Anwendung eines gleitenden Durchschnitt auf alle Unterteile des dataframe (die Beispieldaten finden Sie hier dl. dropboxusercontentu2414056testData. Rdata). (Filtern (x, rep (15, times5))) data. trashlt-ddply (Daten (FileNo, ChannelNo), transformieren, filteredapplyfilter (ChannelB)) Das Ergebnis ist ein Fehler in Attributen ( Outputvar) lt-Attribute (Wert). Ungültige Zeitreihenparameter angegeben, obwohl die Anzahl der Rückgabewerte für mich richtig erscheint. Haben Sie irgendwelche Gedanken oder Vorschläge alternative HTML-Version gelöschte versteckte E-Mail-Mailingliste stat. ethz. chmailmanlistinfor-help BITTE lesen Sie die Posting-Leitfaden R-project. orgposting-guide. html und geben kommentierten, minimalen, in sich geschlossenen, reproduzierbaren Code. Str (lst1) Liste von 10 1.1: data. frame: 783 obs. Von 6 Variablen:. Zeit. Num 1: 783 1.83e-05 2.37e-05 2.90e-05 5.06e-04 5.11e-04. . ChannelA. Num 1: 783 4,53 4,88 4,8 3,58 3,58. . ChannelB. Num 1: 783 6,87 13,6 21,09 22,09 21,55. . FileNr. Num 1: 783 1 1 1 1 1 1 1 1 1 1. ChannelNo: num 1: 783 1 1 1 1 1 1 1 1 1 1. Gefiltert. Zeitreihe 1: 783 von 1 bis 783: NA NA 17 19,8 21,2. Gibt eine Zeitreihe zurück. Möglicherweise müssen Sie die Funktion ändern. Applyfilterlt-Funktion (x) return (as. numeric (Filter (x, rep (15, times5)))) data. trashlt-ddply (Daten (FileNo, ChannelNo), Transform, filteredapplyfilter (ChannelB)) Kopf (data. trash) Zeit ChannelA ChannelB FileNo ChannelNo 1 0,0000183214 4,527559 6,873434 1 1 NA 2 0,0000236814 4,881890 13,602919 1 1 NA 3 0,0000290414 4,803150 21,092224 1 1 17,04348 4 0,0005060814 3,582677 22,094999 1 1 19,84974 5 0,0005114414 3,582677 21,553814 1 1 gefilterten 21,21485 6 0,0005168014 3,582677 20,904732 1 1 20,96478 ----- Ursprüngliche Nachricht ----- Von: Ingo Reinhold lthidden E-Mail gt: arun lthidden E-Mail gt Cc: R Hilfe lthidden E-Mail gt Gesendet am: Dienstag, 27. August 2013 10: 32 AM Thema: RE: R plyr Moving durchschnittlichen Filter mit plyr Vielen Dank. Aber warum ist das Die Funktion applyfilter sollte ein numerisches Ergebnis zurückgeben, sollte es nicht Ingo Von: arun versteckte E-Mail Gesendet am: Dienstag, 27. August 2013 16:06 An: Ingo Reinhold Cc: R help Betreff: Re: R plyr Moving Average Filter Mit plyr oder data2lt-ddply (Daten,. (FileNo, ChannelNo), transformieren, filteredas. numeric (applyfilter (ChannelB))) AK ----- Ursprüngliche Nachricht ----- Von: arun lthidden email gt An: Ingo Reinhold lthidden email gt Cc: R help lthidden email gt Gesendet: Dienstag, 27. August 2013 10:03 Thema: Re: R plyr Hallo Gleitmittelungsfilters mit plyr Mai sein, das hilft: (. Daten, (FileNo, ChannelNo), Transform, filteredapplyfilter (ChannelB)) lst1lt-dlply data2lt-do. call (rbind, lapply (lst1, Funktion (x))) row. names (Daten2) LT - row. names (Daten) Kopf (Daten, 3) Zeit ChannelA ChannelB FileNo ChannelNo 1161 1.83214e-05 4,527559 6,873434 1 1 1171 2.36814e-05 4,881890 13,602919 1 1 1181 2.90414e-05 4,803150 21,092224 1 1 Kopf (data2,3) Zeit ChannelA ChannelB FileNo ChannelNo gefiltert 1161 1.83214e-05 4,527559 6,873434 1 1 NA 1171 2.36814e-05 4,881890 13,602919 1 1 NA 1181 2.90414e-05 4,803150 21,092224 1 1 17,04348 AK ----- Ursprüngliche Nachricht ----- Von: Ingo Reinhold lthidden email gt An: quothidden email address lthidden email gt Cc: Gesendet: Dienstag, 27. August 2013 09:17 Subject: R plyr Moving durchschnittlicher Filter mit plyr Im stecken mit einem Problem mit plyr zu verarbeiten eine ziemlich große Müll von Daten. Was Im zu tun versuchen, ist die Anwendung eines gleitenden Durchschnitt auf alle Unterteile des dataframe (die Beispieldaten finden Sie hier dl. dropboxusercontentu2414056testData. Rdata). (Filtern (x, rep (15, times5))) data. trashlt-ddply (Daten (FileNo, ChannelNo), transformieren, filteredapplyfilter (ChannelB)) Das Ergebnis ist ein Fehler in Attributen ( Outputvar) lt-Attribute (Wert). Ungültige Zeitreihenparameter angegeben, obwohl die Anzahl der Rückgabewerte für mich richtig erscheint. Haben Sie irgendwelche Gedanken oder Vorschläge alternative HTML-Version gelöschte versteckte E-Mail-Mailing-Liste stat. ethz. chmailmanlistinfor-help BITTE lesen Sie die Entsendungsanleitung R-project. orgposting-guide. html und geben kommentierte, minimale, in sich geschlossene, reproduzierbare Code.

No comments:

Post a Comment