【问题标题】:Using for loop to name vector使用 for 循环命名向量
【发布时间】:2021-12-24 05:58:38
【问题描述】:

我正在使用 for 循环读取多个表,在读取这些表时,我想从每个数据框中的特定列生成列表并使用变量命名该列表。

这个想法是使用一个列表,例如下面示例中的 Names,然后可以使用该列表在引入列表时将向量名称分配给列表。

Names <- list("1","2","3")


Tables <- list.files(".",recursive = T, pattern = ".csv", full.names=T)

for (file in Tables)
{
 print(file)
 df <- read.csv(file, header =T)
 list <- list(df$1)
}

从上面的示例中得到一个名为 list_1、list_2 和 list_3 的列表的结果的最佳方法是什么?

感谢您提供的任何帮助。

【问题讨论】:

    标签: r list loops vector naming


    【解决方案1】:

    这是使用tidyverse 的解决方案。

    library(tidyverse)    
    
    Tables <- list.files(path = ".",
                   recursive = T,
                   pattern = ".csv",
                   full.names = T) %>% 
          map(~read_csv(.)) %>% 
          set_names(., nm = paste0("list_", Names))
    
    list2env(Tables, envir = .GlobalEnv)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-26
      • 1970-01-01
      • 1970-01-01
      • 2021-12-03
      相关资源
      最近更新 更多