如何将行名转换为列名并在r中按顺序绑定

How to convert row names to column names and bind it by order in r

我正在处理一个数据集: Annual Returns by Ticker

我想转换为:Result Matrix

我使用了代码:

returns.df <- returns %>% spread(key = DATE, value = RETURN)

它显示错误的顺序:enter image description here

假设您的长格式数据以您想要的顺序开始,试试这个:

month_order = unique(returns)
returns.df <- returns %>%
  spread(key = DATE, value = RETURN) %>% 
  select(c("TICKER", month_order))

如果您的数据没有以正确的顺序开始,请追加年份并将其转换为 Date class 对象。然后你就可以按照正确的顺序排序,使用上面的方法。

我想通了,我写了这些多行:

column <- unique(returns$DATE)
ret <- matrix(returns$RETURN,nrow = 22,ncol = 60)
row <- unique(returns$TICKER)
rownames(ret) <- row
colnames(ret) <- column
ret

这个怎么样?