Преобразовать фрейм данных в матрицу: два столбца как имена строк и столбцов - PullRequest
1 голос
/ 10 ноября 2011

В 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?Было бы здорово, если бы он мог работать не только с числами в первом и втором столбцах, но и со строками, чтобы у меня была матрица с этими строками в качестве имен строк и столбцов.

Cheers, P

Ответы [ 2 ]

6 голосов
/ 10 ноября 2011

Используя данные, предоставленные 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
6 голосов
/ 10 ноября 2011

Использование 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

НТН

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...