Контекст
В моем кадре данных есть столбец, содержащий фиксированные ответы на вопрос об альтернативах потреблению в ресторане.Респонденты могут выбрать несколько вариантов сразу, если это необходимо.
Вот 9 уникальных вариантов ответов, доступных респондентам для этого вопроса -
#Unique responses to question
unique_vector = c('Bring food from home',
'Buy from a supermarket',
'Buy from deli, bakery, coffee, or sandwich shop',
'Go home',
'Go out to a fast food outlet',
'Order food from outside',
'Snack between meals',
'Go out to a full service restaurant',
'Skip the meal')
После проведения опроса на10 респондентов, итоговый фрейм данных выглядит следующим образом -
#Survey Dataframe
df= data.frame(
Id = c(1:10),
QUESTION=c(unique_vector[1],
paste0(unique_vector[1],',',unique_vector[2]),
paste0(unique_vector[1],',',unique_vector[2],',',unique_vector[2]),
paste0(unique_vector[4],',',unique_vector[5],',',unique_vector[1]),
paste0(unique_vector[3],',',unique_vector[1],',',unique_vector[9],',',unique_vector[7]),
paste0(unique_vector[5],',',unique_vector[6],',',unique_vector[8],',',unique_vector[1]),
unique_vector[3],
"",
paste0(unique_vector[5],',',unique_vector[6],',',unique_vector[8],',',unique_vector[1]),
"")
)
Моя цель
Я хотел бы расширить столбец QUESTION
так, чтобы каждыйуникальный ответ - это отдельный столбец в кадре данных.
И затем я бы хотел кодировать эти ответы так, чтобы они записывались как 1 с (а не как 0).
Моя попытка
Я пытался использовать пакет горячего кодирования в R. Но я не могу понять, как изменить мой код для разделения составных ответов.
#Attempt
library(onehot)
encoded_df = onehot(df[,2], stringsAsFactors=TRUE)
Будем благодарны за любые вводимые данные.