2015-10-21 3 views
0

У меня есть большой фрейм данных с двумя переменными, один из которых - имена и другие идентификационные номера лиц, связанных с этими именами, и я хочу создать матрицу, где каждое имя наблюдение, а каждый id - переменная.Создание двоичной матрицы из двух строк данных в R

Например

names  ids 
peter  23 
peter  20 
peter  25 
john  25 
john  22 
mike  21 

И я хочу, чтобы получить матрицу, где

names  20  21  22  23 

peter  1  0  0  1 

т.д.

Дело в том, что у меня есть 38210 наблюдения, я пытался много решений к подобным ответам здесь, и либо R обрушивается, и компьютер зависает, либо я получаю таблицу с переменными 291444 (используя as.data.frame.matrix), что не имеет смысла, поскольку не может быть m рудных переменных, чем наблюдений в исходной таблице.

Любые идеи? Благодаря!

+0

Что вы уже пробовали? Это может быть идея попробовать их на подмножестве ваших данных. – harre

+0

Просто сделайте 'table (df1)! = 0' – akrun

+0

Я тоже пытался использовать 'table', я продолжаю получать переменные 291414, я действительно не понимаю. – matiasg

ответ

0

Мы можем использовать table

+(table(df1)!=0) 
+0

Я тоже использовал таблицу, я получаю 291414 переменных, я действительно не понимаю. – matiasg

+0

@matiasg Попробуйте использовать '+ (таблица (капли (df1))! = 0)' – akrun

Смежные вопросы