我正在努力为此找到一个合适的问题,所以我都问自己,我可能会重复
我已经提取了WD的文件夹结构,并且想要将名称粘贴到一个数据框中,每一列代表一个级别的文件夹结构。
使用strsplit
I结尾的是字符向量列表,其中每个元素代表文件夹级别的名称。例如。
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"))
最简单的是 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
m1 <- max(lengths(folders))
d1 <- as.data.frame(do.call(rbind, lapply(folders, `length<-`, m1)), stringsAsFactors= FALSE)
names(d1) <- paste0("Level", seq_along(d1))
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句