2016-10-13 3 views
-1

У меня есть два столбца, которые я хотел бы преобразовать в матрицу, которая содержит двоичные файлы в качестве ее содержимого. Например:Преобразование двух столбцов в матричную форму

Если бы это были колонки (Имя и животных):

Name Animal 
Jen Cat 
Sam Dog 
Pat Hamster 
Ann Fish 
Lea Cat 
Jen Hamster 
Sam Hamster 
Jen Fish 

Я хотел бы, чтобы преобразовать его в этот формат:

Cat Dog Hamster Fish 
Jen 1 0 1  1 
Sam 0 1 1  0 
Pat 0 0 1  0 
Ann 0 0 0  1 
Lea 1 0 0  0 
+2

Может быть 'таблица (df1 $ Имя, df1 $ Animal)'? – zx8754

+3

О, пожалуйста, не отправляйте данные как изображение, предыдущая текстовая версия была намного лучше. – zx8754

+0

Я согласен с предыдущим комментарием, imdages не копируют/вставляют дружественные, чтобы играть, чтобы попытаться ответить вам позже (для тех, кто хочет вообще, так как ваш вопрос не показывает показ усилий решить самостоятельно, см. [Ask]) – Tensibai

ответ

0

Другие, чем table, который упоминает @ zx8754 в комментариях:

table(df$Name, df$Animal) 

Вы также можете использовать xtabs следующим :

xtabs(Col~Name+Animal, cbind(df,Col=1)) 

#  Animal 
#Name Cat Dog Fish Hamster 
# Ann 0 0 1  0 
# Jen 1 0 1  1 
# Lea 1 0 0  0 
# Pat 0 0 0  1 
# Sam 0 1 0  1 

данные

df <- structure(list(Name = structure(c(2L, 5L, 4L, 1L, 3L, 2L, 5L, 
2L), .Label = c("Ann", "Jen", "Lea", "Pat", "Sam"), class = "factor"), 
    Animal = structure(c(1L, 2L, 4L, 3L, 1L, 4L, 4L, 3L), .Label = c("Cat", 
    "Dog", "Fish", "Hamster"), class = "factor")), .Names = c("Name", 
"Animal"), class = "data.frame", row.names = c(NA, -8L)) 
+1

Спасибо за помощь! –

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