-1

I need to reshape a table or (data frame) to be able to use an R package (NetworkRiskMetrics). Suppose I have a data frame of lenders, borrowers and loan values:

lender borrower loan_USD
John Mark 100
Mark Paul 45
Joe Paul 30
Dan Mark 120

How do I convert this data frame into:
John Mark Joe Dan Paul
John
Mark
Joe
Dan
Paul

(placing zeros in empty cells)? Thanks.

  • See [here](https://stackoverflow.com/questions/9617348/reshape-three-column-data-frame-to-matrix-long-to-wide-format) a similar post – alexis_laz Jun 02 '17 at 19:01

1 Answers1

1

Use reshape function

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
user890739
  • 702
  • 1
  • 13
  • 33