2016-06-08 5 views
0

Ich habe ein Dataset, das ungefähr so ​​aussieht (das tatsächliche Dataset ist ~ 150000 Zeilen mit zusätzlichen Spalten von Flauminformationen wie Firmenname usw.):Berechnen der datumsspezifischen Korrelation in r (was zu einer möglichen Zeitreihe führt)

Date   return1 return2 rank 
01/31/2008 0.05434 0.23413 3 
01/31/2008 0.03423 0.43423 4 
01/31/2008 0.65277 0.23423 1 
01/31/2008 0.02342 0.47234 4 
02/31/2008 0.01463 0.
02/31/2008 0.13456 0.52552 2 
02/31/2008 0.34534 0.36663 1 
02/31/2008 0.00324 0.56463 3 
... 
12/31/2015 0.21234 0.02333 2 
12/31/2015 0.07245 0.87234 1 
12/31/2015 0.47282 0.12998 1 
12/31/2015 0.99022 0.03445 2 

Grundsätzlich ich brauche die Datumsspezifische Korrelation zwischen return1 und rank caculate (so der corr. auf 2008.01.31, 2008.02.31, und so weiter). Ich weiß, dass ich die Daten unter Verwendung der split() Funktion teilen kann, aber ich bin nicht sicher, wie man die Datum-spezifische Korrelation erhält. Die realen Daten haben ungefähr 260 Einträge pro Datum und ungefähr 68 Daten. Daher ist das manuelle Unterteilen der ursprünglichen Tabelle und das Durchführen von Berechnungen zeitaufwendig, aber noch wichtiger anfälliger für Fehler.

Mein Ziel ist es, eine Zeitreihe der Korrelationen zu verschiedenen Daten zu erstellen.

Vielen Dank im Voraus!

+0

Diese "dplyr" und "tidyr" Spickzettel haben alles, was Sie brauchen, und präsentiert es in einer klaren und organisierten Art und Weise: https://www.rstudio.com/wp-content/uploads/2015/02/data-wrangling -cheatsheet.pdf –

+0

fantastisch vielen Dank. fyi mit dem vorgeschlagenen Blatt Ich fand die Antwort zu sein: 'Korrelationen <-as.data.frame (merged_data%>% group_by (Datum)%>% zusammenfassen (cor (X1.Mo..Forward.Returns,' Team Rank'))) ' – Noah

Antwort

0

Ich hatte das gleiche Problem früher, außer dass ich keine Korrelation berechnete. Was ich tun würde, ist

a %>% group_by(Date) %>% summarise(Correlation = cor(return1, rank)) 

Und das wird bieten, für jedes Datum, ein Korrelationswert zwischen return1 und rank. Vergessen Sie nicht, dass Sie angeben können, welche Art von Korrelation Sie möchten (z. B. Spearman).

Verwandte Themen