使用 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 循环到 unlist(),选择向量元素并转换类 - 循环、列表、向量、选择