我試圖做一個熱碼,下面的字符數據框的R.傳播一個字符串的多個列中的R
x1 <- c('')
x2 <- c('A1,A2')
x3 <- c('A2,A3,A4')
test <- as.data.frame(rbind(x1,x2,x3))
我試圖把數據格式:
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')
所使用的分隔符是逗號,我可以使用的逗號分割:
test$V1 = as.character(test$V1)
split_list = strsplit(test$V1, ",")
這讓我列出了卡恩的列表不會被直接轉化爲數據框。有沒有更好的方式來做到這一點。我正在嘗試「https://www.rdocumentation.org/packages/CatEncoders/versions/0.1.0/topics/OneHotEncoder.fit」。在這種情況下,包裝是根據需要散佈單個色譜柱而不是多個色譜柱。
'試驗%>%tibble :: rownames_to_column()%> %tidyr :: separate_rows(V1)%>%table()'可以讓你幾乎在那裏,也許比這裏的答案簡單。 – Axeman