我有一个数据矩阵,如下所示:
date ticker return
2/1 MSFT .21
2/1 GOOG .11
2/1 CSCO .09
2/2 MSFT .22
2/2 GOOG .19
2/2 CSCO .15
我想将结构转移到类似的地方:
MSFT GOOG CSCO
2/1 .21 .11 .09
2/2 .22 .19 .15
有没有一种简单的方法可以在 Matlab/R 中进行这种传输,而不是通过运行循环来实现?
最佳答案
您可以使用 reshape2
库:
library(reshape2)
#sample data
dat <- data.frame(
date = rep(c("2/1", "2/2"), each = 3)
, ticker = rep(c("MSFT", "GOOG", "CSCO"), 2)
, return = runif(6)
)
#Cast the data
> dcast(dat, date ~ ticker, value_var = "return")
date CSCO GOOG MSFT
1 2/1 0.2555900 0.6212102 0.43078011
2 2/2 0.7092036 0.7013563 0.01225488
关于r - 数据列表到数据矩阵 matlab/R,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6378009/