gpt4 book ai didi

r - 使用索引迭代向量的子集

转载 作者:行者123 更新时间:2023-12-01 16:05:48 26 4
gpt4 key购买 nike

我可以迭代目录中的所有文件。但是,我想迭代某些文件而不是所有文件。我想使用索引。

我想通过使用 file_id 向量来做到这一点。每个向量元素将是"file"中的索引。

例如:我在一个目录中有 500 个文件,我只想迭代三个文件,即文件 2、4、15。我生成了一个名为 file_id = c(2, 4, 15) 的向量。现在,如何仅迭代这些文件或索引,例如 files[2]files[4]files[15]它将仅从文件 2、4 和 15 获取数据,而不是所有 500 个文件。

#get a list of all the files in directory.
files <- list.files(directory, full.names = TRUE)

#iterate over all the files in directory, and get file data
for (item in files){
filedata <- read.csv(item)
}

#What I want to do is only iterate over following files indicated in file_id vector. That will open files 2,4, and 15 nothing else.
file_id = c(2, 4, 31)

最佳答案

当您在 for 循环中进行迭代时,语法为:

for(index in SET) 

其中 index 是迭代器,SET 是可以转换为向量的任何内容(即使是矩阵或数组,它也会循环遍历每个元素)。

#get a list of all the files in directory.
files <- list.files(directory, full.names = TRUE)

file_id = c(2, 4, 31)

#iterate over all the files in directory, and get file data
for (i in file_id){
filedata <- read.csv(files[i])
}

在这里,您只需修改 file_id 即可循环遍历该特定文件。

关于r - 使用索引迭代向量的子集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21206635/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com