簡體   English   中英

我需要在不同列中拆分向量每個因子 R

[英]I need split vector in diffrent column each factor R

我的數據有這樣的不同長度因子。

variable <- c("A,B,C","A,B","A,C","B,C")

我用過strsplit和其他類似的function,但我不能解決我的問題

我需要得到一個這樣的data.frame

   A   B  C
1  A   B  C
2  A   B  NA
3  A   NA C
4  NA  B  C

謝謝

我們可以用逗號分割數據,創建 dataframe 並根據變量名分配名稱。 然后,我們可以使用bind_rows中的dplyr按列名綁定行。

dplyr::bind_rows(sapply(strsplit(variable, ","), function(x) 
                setNames(as.data.frame(t(x)), x)))

#     A    B    C
#1    A    B    C
#2    A    B <NA>
#3    A <NA>    C
#4 <NA>    B    C

我們可以使用rbindlist

library(data.table)
rbindlist(lapply(strsplit(variable, ","),
      function(x) setNames(as.list(x), x)), fill = TRUE)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM