Как создать таблицу истинности на основе таблицы значений в r

Я пытаюсь создать скрипт, который создаст таблицу истинности на основе разных значений.

Пример

Первая таблица

Таблица истинности для этого будет

Таблица истинности приведенной выше таблицы

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


person Santi    schedule 01.06.2018    source источник
comment
взгляните на model.matrix   -  person GordonShumway    schedule 01.06.2018


Ответы (1)


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

Может быть, это с использованием data.table:

Данные:

library('data.table')
df1 <- data.table(Name = c('Bob', 'Bob', 'Luke'),
                  Location = c('Texas', 'Ohio', 'Utah'),
                  Pet = c('Dog', 'Cat', 'Dog'),
                  Coder = c(1,0,1),
                  stringsAsFactors = FALSE )

Код:

df1[, id := .I ] # assign unique id, and later it will be removed
select_cols <- c('Name', 'Location', 'Pet') # selected columns
dcast( data = melt(df1, measure.vars = select_cols ),  
       formula = "id + Coder ~ value", 
       fun.aggregate = length, 
       fill = 0  )[, id := NULL ][]

#    Coder Bob Cat Dog Luke Ohio Texas Utah
# 1:     1   1   0   1    0    0     1    0
# 2:     0   1   1   0    0    1     0    0
# 3:     1   0   0   1    1    0     0    1
person Sathish    schedule 01.06.2018