使用 for 循环命名向量

Posted

技术标签:

【中文标题】使用 for 循环命名向量【英文标题】:Using for loop to name vector 【发布时间】: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 的列表的结果的最佳方法是什么?

感谢您提供的任何帮助。

【问题讨论】:

【参考方案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)

【讨论】:

以上是关于使用 for 循环命名向量的主要内容,如果未能解决你的问题,请参考以下文章

如何通过使用for循环c ++放入另一个向量来组织一个向量

使用嵌套的 for 循环实现矩阵向量乘法的标量、行变体

如何在 C++ 中使用 for 循环输出向量中的所有对象

for 循环到 unlist(),选择向量元素并转换类 - 循环、列表、向量、选择

如何在打开的 cv 中使用向量将一些浮点值存储在 for 循环中

通过for循环将值附加到向量不起作用