2017-06-02 83 views
-1

我需要重塑表或(數據幀)到能夠使用的R封裝(NetworkRiskMetrics)。假設我有貸款人,借款人和貸款值的數據幀:如何正×3的數據幀轉換成一個正方形(有序)矩陣?

貸款借款人loan_USD
約翰·馬100
馬克保羅45
喬保羅30
丹標記120

如何轉換這種數據幀分爲:
約翰·馬喬丹保羅
約翰
馬克

Dan
Paul

(將零置於空單元格中)? 謝謝。

+0

參見[這裏](https://stackoverflow.com/questions/9617348/reshape-three-column-data-frame-to-matrix-long-to-wide-格式)一個類似的職位 –

回答

1

使用reshape功能

d <- data.frame(lander=c('a','b','c', 'a'), borower=c('m','p','m','p'), loan=c(10,20,15,12)) 
d 
     loan lander borower 
10.1 1  a  m 
20.1 1  b  p 
15.1 1  c  m 
12.1 1  a  p 

reshape(data=d, direction='long', varying=list('lander','borower'), idvar='loan', timevar='loan') 
    lander borower loan 
1  a  m 10 
2  b  p 20 
3  c  m 15 
4  a  p 12