2011-11-10 35 views
1

在RI有結構是這樣的數據:變換數據幀分成矩陣:兩列作爲行和列名

Ref Url Moves 
1 1  345 
1 2  765 
1 3  923 
1 4  233 
2 1  6 
2 2  23 
2 3  345 
2 4  354 
3 1  954 
... 

我想將其轉換爲一個矩陣,然後繪製它作爲具有數的圖移動由線寬表示。 我需要做的是將數據重新塑造成類似:

1 2 3 ... 
1 345 765 923 
2 6 23 345 
3 954 ... ... 
... 

是否有人有一個想法如何自動去做,在R'如果它不僅可以處理第一列和第二列中的數字,而且還可以與字符串一起工作,那麼我就可以將這個字符串作爲行列名稱。

乾杯, P

+3

'XTABS(移至〜REF +網址,DFR)'? – James

+1

@James那應該是個答案 –

回答

5

使用acast是一條路可走。但我喜歡詹姆斯的方式

library(reshape2) 
dd <- read.table(header = T, textConnection("Ref Url Moves 
1 1  345 
1 2  765 
1 3  923 
1 4  233 
2 1  6 
2 2  23 
2 3  345 
2 4  354 
3 1  954")) 

acast(dd, Ref ~ Url) 
Using Moves as value column: use value_var to override. 
    1 2 3 4 
1 345 765 923 233 
2 6 23 345 354 
3 954 NA NA NA 

HTH

+0

很好的答案 - 謝謝! :) – twowo

6

使用Iselzer提供的數據,你可以使用xtabs

xtabs(Moves~Ref+Url,dd) 
    Url 
Ref 1 2 3 4 
    1 345 765 923 233 
    2 6 23 345 354 
    3 954 0 0 0 
+1

'心(xtabs_solutions)' –