Problem z tym, jak obliczyć kod następujący zestaw danych.Przesyłanie unikatowych funkcji w kolumnach do nazw zmiennych i oryginalnych kodowań oryginalnych funkcji do zmiennych w R
przykład dane, powiedzmy dataframe = MYDATA:
ID | NAMES |
-- | -------------- |
1 | 4444, 333, 456 |
2 | 333 |
3 | 456, 765 |
ja jak przesyłać tylko te unikalne zmienne nazwy, jak i kodu zmiennych kolumny, jeśli każdy rząd jest zmienna lub nie, czyli jeden lub 0
Pożądany wyjściowa:
ID | NAMES | 4444 | 333 | 456 | 765 |
-- | -------------- |------|-----|-----|-----|
1 | 4444, 333, 456 | 1 | 1 | 1 | 0 |
2 | 333 | 0 | 1 | 0 | 0 |
3 | 456, 765 | 0 | 0 | 1 | 1 |
co robiłem do tej pory jest tworzony wektor unikalnych
split <- str_split(string = mydata$NAMES,pattern = ",")
vec <- unique(str_trim(unlist(split)))
remove <- ""
vec <- as.data.frame(vec[! vec %in% remove])
colnames(vec) <- "var"
vecRef <- as.vector(vec$var)
namesCast <- dcast(data = vec,formula = .~var)
namesCast <- nameCast[,2:ncol(namesCast)]
Daje to wektor unikatowych NAMES z usuniętymi odstępami/nieregularnościami. Stamtąd nie mam pojęcia, jak zrobić kodowanie pasujące/dummy, więc każda pomoc będzie bardzo ceniona!
Ha wiedziałem, że ktoś po prostu powrót z jednej linii kodu, który wieje zdanie. Dzięki to działa świetnie! – moku