R将行转换为列

时间:2017-05-24 18:10:06

标签: r

我是“R”的新手, 我需要将行转换为列 来源保存在数据框

我能做什么

destination<- as.data.frame.matrix(xtabs(~order_id+dish_id, source))

但是,我无法得到我想要的东西 所以any1可以帮助我获取目的地

等数据

来源: -

order_id    primary_dish    dish_id  category_id
328507       38118            38114   1536
328523       38081            38068   1829
328523       38094            38068   1829

(源数据以上述格式显示)

目的地: -

order_id    primary_dish    38114   38068   1536   1829
328507        38118           1       0       1     0
328523        38081           0       1       0     1
328523        38094           0       1       0     1

1 个答案:

答案 0 :(得分:0)

这样的事情可能会让你获得所需的输出。

library (dplyr)
library (tidyr)
destination <- destination %>%
    mutate (dval = 1) %>%
    spread (key = dish_id, value = dval, fill = 0) %>%
    mutate (cval = 1) %>%
    spread (key = category_id, value = cval, fill = 0) %>%
    arrange (order_id, primary_dish)