一覧

2017-07-17 20 views
1

私はこれのために適切な質問を見つけるのに苦労していますので、私のすべては自分自身が重複一覧

を危険にさらし、それを聞いて、私は私のWDのフォルダ構造を抽出していると私は貼り付けたいです各列がフォルダ構造の1つのレベルを表すデータフレームへの名前。

strsplitを使用すると、各要素がフォルダレベルの名前を表す文字ベクトルのリストが作成されます。例えば。

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

これからデータフレームを取得する最も簡単な方法はありますか?この場合、私は3つの列をしたいだろうが、私は(おそらく6つのレベルまでの)いくつかのより多くのレベルを持つ

期待される結果(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