0

I want to make this dataframe

enter image description here

into this matrix

enter image description here

I have tried:

x <- read.csv("sample1.csv")

ax <- matrix(c(x[1,1],x[2,1],x[1,3],x[1,1],x[3,1],x[1,4],x[1,1],x[4,1],x[1,5],x[1,1],x[5,1],x[1,6],x[1,1],x[6,1],x[1,7],x[2,1],x[1,1],x[2,2],x[2,1],x[3,1],x[2,4],x[2,1],x[4,1],x[2,5],x[2,1],x[5,1],x[2,6],x[3,1],x[6,1],x[2,7],x[3,1],x[1,1],x[3,2],x[3,1],x[2,1],x[3,3],x[3,1],x[4,1],x[3,5],x[3,1],x[5,1],x[3,6],x[3,1],x[6,1],x[3,7],x[4,1],x[1,1],x[4,2],x[4,1],x[2,1],x[4,3],x[4,1],x[3,1],x[4,4],x[4,1],x[5,1],x[4,6],x[4,1],x[6,1],x[4,7],x[5,1],x[1,1],x[2,2],x[5,1],x[2,1],x[2,4],x[5,1],x[3,1],x[2,5],x[5,1],x[4,1],x[2,6],x[5,1],x[6,1],x[2,7],x[6,1],x[1,1],x[2,2],x[6,1],x[2,1],x[2,4],x[6,1],x[3,1],x[2,5],x[6,1],x[4,1],x[2,6],x[6,1],x[5,1],x[2,7]),10,3, byrow=TRUE)

bx <- ax[order(ax[,3], decreasing = TRUE),]

But it's not beautiful at all, and also it's gonna be lots of work if I got different sample data. So I wish to simplified it if possible, any suggestion?

Peter
  • 11,500
  • 5
  • 21
  • 31
Dark Star
  • 15
  • 4

1 Answers1

0

This can be achieved by using melt() function from reshape2 package:

> a = matrix(c(1:9), nrow = 3, ncol = 3, dimnames = list(LETTERS[1:3], letters[1:3]))
> a
  a b c
A 1 4 7
B 2 5 8
C 3 6 9
> library(reshape2)
> melt(a, na.rm = TRUE)
  Var1 Var2 value
1    A    a     1
2    B    a     2
3    C    a     3
4    A    b     4
5    B    b     5
6    C    b     6
7    A    c     7
8    B    c     8
9    C    c     9
vladli
  • 1,454
  • 2
  • 16
  • 40