gpt4 book ai didi

arrays - 使用 R 将文件导入数组

转载 作者:行者123 更新时间:2023-12-02 10:00:37 27 4
gpt4 key购买 nike

我的一个文件夹中有多个 csv 文件。每个 csv 文件包含一个 200 行和 200 列的表格。我可以单独引入每个文件并将其显示为矩阵。我还可以创建一个目录并列出它们所在文件夹中的每个文件。我需要做的就是引入每个文件,打开它们,然后将它们组合成一个数组。当我这样做时,我收到一条警告,指出没有这样的文件。

我的代码是

x <- dir(path=" ", pattern = ".csv")
num <- array(0,dim=c(200,200,length(x)))
for(i in 1:length(x)){
temp <- read.csv(x[i], skip=1)
temp2 <- temp[,2]
num[,i]<-temp2

}

这给了我警告

Error in file(file, "rt") : cannot open the connection
In addition: Warning message:
In file(file, "rt") :
cannot open file 'test_1.csv': No such file or directory

同样,当我处理单个文件时,我可以很好地导入它们,然后列出它们并将它们作为矩阵打开。为什么我会收到此警告?为什么 R 一次可以找到我的文件,但一次不能找到多个文件?

最佳答案

首先,您确定您正在正确地将文件列表读入变量 x 中。我认为你的 for 循环有一些问题。另外您确定您与这些文件位于同一目录中吗?在 dir 命令中,您输入 "" 作为 path 变量,我不确定这意味着什么。试试这个

> x <- dir(pattern = ".csv")
> num <- array(0,dim=c(200,200,length(x))) # in my case `length(x)` is 9.
> m <- matrix(rnorm(200*200),nrow=200,ncol=200) # generate some 200x200 matrix
> for(i in 1:length(x)){
num[,,i] <- m # notice its num[,,i] and not num[,i]
}
> num[1:4,1:4,9]
[,1] [,2] [,3] [,4]
[1,] -1.5674073 0.05364477 0.8367233 1.7995047
[2,] -0.8613244 1.00400787 -0.2464169 -1.2897856
[3,] -0.7907845 -1.40617992 1.0596680 -0.5270983
[4,] -0.5206049 0.66253519 1.6820722 1.2017410

关于arrays - 使用 R 将文件导入数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15143555/

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