2017-10-09 62 views
0

我有以下数据框。将列重新分配到列R

sample_data <- data.frame(Date = c ("2017-01-31", "2017-01-31","2017-02-28", "2017-01-31", "2017-03-31","2017-02-28", "2017-03-31", "2017-04-30", "2017-02-28","2017-03-31","2017-04-30","2017-04-30"), 
        stock = c("c", "a", "a", "b", "a", "b", "b", "a", "c", "c", "b", "c"), 
        Price = c(9,6,7,8,10,12,13, 11, 17, 12, 13, 14)) 

我期待让股价信被分配到一列,而不是在第二列所有被重新安排这一点。因此,数据框将只显示每个股票的4个日期和4个价格(股票“a”将是一列,“b”是下一个等等)。

回答

1

tidyr包提供了一种方法来做到这一点。

library(tidyr) 
sample_data %>% 
spread(stock, Price)