【问题标题】:Name each df inside a list命名列表中的每个 df
【发布时间】:2021-06-14 15:09:09
【问题描述】:

我有一个包含 6937 个元素的大列表。列表中的每个数据框代表一个收集每日水文数据的站点。

在我的文件夹中,每个txt文件都用一个代表站位位置的代码命名,我在将数据导入R时需要保留文件名。

我的问题是,如何在保留名称的同时将所有这些 txt 文件导入 R?

一旦导入它们就不可能命名它们(如 here 解释的那样)(正如我提到的,列表中有 6000 多个元素)

这就是我将每个 txt 文件导入 R 的方式:

library(tidyverse)
library(readtext)
library(lubridate)
#> 
#> Attaching package: 'lubridate'
#> The following objects are masked from 'package:base':
#> 
#>     date, intersect, setdiff, union
library(purrr)


# Import all data

txt_files_ls <- paste("C:/Users/obarresi/Desktop/doc osvaldo/ana_data_acquisition/data_flow-ANA/All", 
                      list.files(path = "C:/Users/obarresi/Desktop/doc osvaldo/ana_data_acquisition/data_flow-ANA/All",
                                 pattern = "*.txt"), sep = "/")

txt_files_df_list <- vector("list", length(txt_files_ls))

txt_files_df_list <- lapply(txt_files_ls, 
                            function(x){data.frame(read.table(file = x, header = F,
                                                              sep ="", colnames(x)))})

#After all the cleaning process 
head(list[[1]])
#> day month year flow       date
37252  28    12 2001   35 2001-12-28
37253  29    12 2001   34 2001-12-29
37254  30    12 2001   37 2001-12-30
37255  31    12 2001   34 2001-12-31
37256   1     1 2002   34 2002-01-01
37257   2     1 2002   36 2002-01-02

【问题讨论】:

    标签: r list dataframe


    【解决方案1】:

    所以我想出了一个简单的答案:

    files <- list.files(path="C:/Users/obarresi/Desktop/doc osvaldo/ana_data_acquisition/data_flow-ANA/All", pattern=".txt")
    
    names(txt_files_df_list) <- files
    
    

    【讨论】:

      猜你喜欢
      • 2020-10-22
      • 2017-11-02
      • 2017-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-14
      • 2013-08-05
      相关资源
      最近更新 更多