【发布时间】:2016-02-02 00:40:39
【问题描述】:
我有一个矩阵,它(结构上)看起来像这样:
id 1st 2nd 3rd 4th 5th
[1,] "aaaaa1" "Tesco" "Sainsbury" "M&S" "Waitrose" "Asda"
[2,] "bbbbb2" "Sainsbury" "Tesco" "Waitrose" "Asda" "M&S"
我需要把它变成:
id shop
[1,] "aaaaa1" "Tesco"
[2,] "aaaaa1" "Sainsbury"
[3,] "aaaaa1" "M&S"
[4,] "aaaaa1" "Waitrose"
[5,] "aaaaa1" "Asda"
[6,] "bbbbb2" "Sainsbury"
[7,] "bbbbb2" "Tesco" (ETC.)
我一辈子都想不出一个不涉及循环的简单解决方案,但我知道它应该很简单。
我尝试了以下方法,但它根本不起作用:
library(reshape2)
meltedPredictionsMatrix = melt(widePredictionsMatrix, id.vars="id")
我觉得可能有一个更直接的解决方案,不需要包,但我被卡住了。
【问题讨论】:
-
使用
reshape-reshape(data.frame(dat), idvar="id", direction="long", varying=-1, v.names="shop", timevar=NULL)