Here's one way:
ans = reshape(stock.returns,idvar='Date',
+ varying=list(names(stock.returns)[-1]), + direction='long', + times=names(stock.returns)[-1], + v.names='Return',timevar='Ticker')
rownames(ans) = NULL ans
Date Ticker Return 1 20110301 MSFT 0.05 2 20110302 MSFT 0.01 3 20110301 GOOG -0.01 4 20110302 GOOG 0.04
- Phil Spector Statistical Computing Facility Department of Statistics UC Berkeley spec...@stat.berkeley.edu On Wed, 16 Mar 2011, chris99 wrote:
Hi group, I am trying to convert the organization of a data frame so I can do some correlations between stocks, I have something like this: stock.returns <- data.frame(rbind(c("MSFT","20110301",0.05),c("MSFT","20110302",0.01),c("GOOG","20110301",-0.01),c("GOOG","20110302",0.04))) colnames(stock.returns) <- c("Ticker","Date","Return") stock.returns Ticker Date Return 1 MSFT 20110301 0.05 2 MSFT 20110302 0.01 3 GOOG 20110301 -0.01 4 GOOG 20110302 0.04 And want to convert it to this: stock.returns <- data.frame(rbind(c("20110301",0.05,-0.01),c("20110302",0.01,0.04))) colnames(stock.returns) <- c("Date","MSFT","GOOG") stock.returns Date MSFT GOOG 1 20110301 0.05 -0.01 2 20110302 0.01 0.04 Can anyone offer any suggestions? Thanks, Chris -- View this message in context: http://r.789695.n4.nabble.com/Reorganize-data-frame-tp3381929p3381929.html Sent from the R help mailing list archive at Nabble.com. ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.
______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.