2017-10-09 53 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)