名單

2017-07-17 15 views
1

我在努力找到這個合適的問題,所以我都在問我自己冒着重複名單

我已經提取我的WD的文件夾結構,我想貼名稱轉換爲數據框,每列代表文件夾結構的一個級別。

使用strsplit我最終得到一個字符向量列表,其中每個元素表示文件夾級別的名稱。例如。

folders<-list(c("Main") , c("Main","Mid"), c("Main", "Mid", "Sub")) 

什麼是最簡單的方法來獲取數據幀?在這種情況下,我想三列,但我有幾個層次(可能下降至六個等級)

預期結果(NA可以是「」):

data.frame(Level1=c("Main", "Main", "Main"), Level2=c(NA,"Mid", "Mid"), 
      Level3=c(NA,NA,"Sub")) 

回答

1

最簡單的將是stri_list2matrix

library(stringi) 
df <- as.data.frame(stri_list2matrix(folders, byrow = TRUE), stringsAsFactors=FALSE) 
names(df) <- paste0("Level", seq_along(df)) 
df 
# Level1 Level2 Level3 
#1 Main <NA> <NA> 
#2 Main Mid <NA> 
#3 Main Mid Sub 

但是,這也與base R

來解決3210