Je suis en train de faire un chaud codage de la trame de données de caractères ci-dessous dans l'affaire R.Étendre une chaîne à plusieurs colonnes en R
x1 <- c('')
x2 <- c('A1,A2')
x3 <- c('A2,A3,A4')
test <- as.data.frame(rbind(x1,x2,x3))
Je suis en train de mettre les données au format:
x1 <- c(0,0,0,0)
x2 <- c(1,1,0,0)
x3 <- c(0,1,1,1)
result <- as.data.frame(rbind(x1,x2,x3))
names(result) = c('A1','A2','A3','A4')
le séparateur utilisé est une virgule et je peux diviser sur la virgule en utilisant:
test$V1 = as.character(test$V1)
split_list = strsplit(test$V1, ",")
Cela me donne une liste de listes qui Cann ot être contraint directement dans un dataframe. Existe-t-il une meilleure façon de le faire. J'essayais "https://www.rdocumentation.org/packages/CatEncoders/versions/0.1.0/topics/OneHotEncoder.fit". Le paquet étalait une seule colonne plutôt que plusieurs colonnes comme nécessaire dans ce cas.
'test%>% Tibble :: rownames_to_column()%> % tidyr :: separate_rows (V1)%>% table() 'vous arrive presque là et est peut-être plus simple que les réponses ici. – Axeman