【问题标题】:The fastest way to import datasets with comomn characters in their names?导入名称中包含常用字符的数据集的最快方法是什么?
【发布时间】:2021-12-09 03:24:09
【问题描述】:

我有以下几组数据进入目录:

如您所见,它们以彼此共享的共同字符命名。任何人都可以提出任何可能的方法来在一轮中将它们全部导入吗?

【问题讨论】:

    标签: r import dataset


    【解决方案1】:

    您可以使用list.files 收集文件并使用assign 创建变量表名:

    files <- list.files(pattern = "\\.xls")
    for (i in 1:length(files)) {
      assign(gsub("\\.xls", "", files[i]), readxl::read_xls(files[i]))
    }
    

    【讨论】:

    • 再次感谢。对不起,如果我问这些家伙,但我对另一个问题很感兴趣:我今天在这里发布了它,我还没有最模糊的创建表格(并且以我描述的那种特殊方式)一句话文档。如果可以请看一下,我会很高兴...stackoverflow.com/questions/69675243/…
    【解决方案2】:

    list.filespattern 将给出目录中文件的名称,您可以使用lapply/map 将它们一起导入。

    #select files that start with RP and end with extension xls.
    filenames <- list.files(pattern = '^RP.*\\.xls$')
    data <- purrr::map(filenames, readxl::read_excel)
    

    如果所有文件都具有相同的列名,并且您希望将它们作为一个组合数据框导入,则使用 purrr::map_df 而不是 purrr::map

    【讨论】:

    • 谢谢。您提出的第二个解决方案 ihaas 以我希望将它们合并的方式工作得很好
    • 由于合并的数据集有重复观察,我想让它们一起订购来自同一患者的那些(名称列:ID),是否有任何可能的实现可以输入您的代码或更好在你的指挥之外继续这个目的?
    • 你可以做data &lt;- data %&gt;% arrange(ID)
    • 是的!这正是我应用的解决方案。谢谢
    • 我又有问题了。我必须合并其他三个具有相同行号(无 NA)的数据集,只是减少了一些数值变量,但因子在不同数据集之间共享。有谁知道我该怎么办?
    猜你喜欢
    • 2021-07-27
    • 2011-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多