我正在从服务器读取多个SAS文件并将它们全部加载到R中的列表中。我删除了一个数据集,因为在最终分析中我不需要它(日期集#31)
mylist<-list.files("path" , pattern = ".sas7bdat")
mylist <- mylist[- 31]
然后我用lapply一次读取列表(mylist)中的所有数据集
read.all <- lapply(mylist, read_sas)
该代码运行良好。但是,当我view(read.all)
查看数据集时,只能看到一个数字(例如1、2等),而不是初始数据集的名称。有谁知道如何将数据集的名称保留在最终列表中?另外,有人可以告诉我如何在R中使用此列表吗?是物体吗?我可以阅读列表的日期集之一吗?或如何加入列表的某些数据集?
使用basename
和tools::file_path_sans_ext
:
filenames <- head(list.files("~/StackOverflow", pattern = "^[^#].*\\.R", recursive = TRUE, full.names = TRUE))
filenames
# [1] "C:\\Users\\r2/StackOverflow/1000343/61469332.R" "C:\\Users\\r2/StackOverflow/10087004/61857346.R"
# [3] "C:\\Users\\r2/StackOverflow/10097832/60589834.R" "C:\\Users\\r2/StackOverflow/10214507/60837843.R"
# [5] "C:\\Users\\r2/StackOverflow/10215127/61720149.R" "C:\\Users\\r2/StackOverflow/10226369/60778116.R"
basename(filenames)
# [1] "61469332.R" "61857346.R" "60589834.R" "60837843.R" "61720149.R" "60778116.R"
tools::file_path_sans_ext(basename(filenames))
# [1] "61469332" "61857346" "60589834" "60837843" "61720149" "60778116"
somedat <- setNames(lapply(filenames, readLines, n=2),
tools::file_path_sans_ext(basename(filenames)))
names(somedat)
# [1] "61469332" "61857346" "60589834" "60837843" "61720149" "60778116"
str(somedat)
# List of 6
# $ 61469332: chr [1:2] "# https://stackoverflow.com/questions/61469332/determine-function-name-within-that-function/61469380" ""
# $ 61857346: chr [1:2] "# https://stackoverflow.com/questions/61857346/how-to-use-apply-family-instead-of-nested-for-loop-for-my-problem?noredirect=1" ""
# $ 60589834: chr [1:2] "# https://stackoverflow.com/questions/60589834/add-columns-to-data-frame-based-on-function-argument" ""
# $ 60837843: chr [1:2] "# https://stackoverflow.com/questions/60837843/how-to-remove-all-parentheses-from-a-vector-of-string-except-whe"| __truncated__ ""
# $ 61720149: chr [1:2] "# https://stackoverflow.com/questions/61720149/extracting-the-original-data-based-on-filtering-criteria" ""
# $ 60778116: chr [1:2] "# https://stackoverflow.com/questions/60778116/how-to-shift-data-by-a-factor-of-two-months-in-r" ""
每个“名称”都是(在这种情况下)stackoverflow问题编号的字符表示形式,已".R"
删除。(由于我通常将普通URL作为第一行,然后在我用来测试/播放和回答SO问题的文件中包含一个空行,因此所有这些文件在前两行看起来都相似。)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句