R 使用循环读取特殊CSV数据
我有点小问题,我相信你们能帮我!我在directionary文件夹中有一个文件夹,包含2000多个.csv文件。它被称为“所有数据”。我想在R中读取它们,并将它们保存在向量中。我知道以前有人问过这个问题。。。这就是我得到的:R 使用循环读取特殊CSV数据,r,csv,R,Csv,我有点小问题,我相信你们能帮我!我在directionary文件夹中有一个文件夹,包含2000多个.csv文件。它被称为“所有数据”。我想在R中读取它们,并将它们保存在向量中。我知道以前有人问过这个问题。。。这就是我得到的: setwd("C:/Users/Flo Chi/Documents/all Data") ldf <- list() csvliste <- dir(pattern="*.csv") for(i in 1:length(csvliste)){ldf[[i]] &
setwd("C:/Users/Flo Chi/Documents/all Data")
ldf <- list()
csvliste <- dir(pattern="*.csv")
for(i in 1:length(csvliste)){ldf[[i]] <- read.csv(csvliste[i])}
setwd(“C:/Users/Flo Chi/Documents/all Data”)
ldf如果您假设唯一可能的数据形式是a)只有一列数字数据,或者b)如果有两列,则第一列全部缺失,那么您可以采取几种方法
下面的示例在发现第一列中仅缺少值的数据帧时使用第二列。但只要有两列(不管第一列中有什么),就可以调整为只取第二列
setwd(“C:/Users/Flo Chi/Documents/all Data”)
ldf将read.csv(csvliste[i])更改为read.csv(csvliste[i])[,2]dir
采用正则表达式作为模式,而不是glob.Thx,这几乎是完美的!但是我需要,例如ldf[[1]]是一个普通的向量,这样我就可以处理这些数字=>例如ldf[[1]][1]。。。“3327”=>ldf[[1]][1]+ldf[[1]][2]=。。。。在这一点上,向量显示了数字和它们的位置,但我只需要这些数字,我需要处理它们。也许你知道这是怎么回事?如果你想要向量而不是数据帧,你可以做一些替换。使用df嘿,我刚试过。应该是这样吗?=>setwd(“C:/Users/Flo Chi/Documents/alle Daten”)ldf
setwd("C:/Users/Flo Chi/Documents/all Data")
ldf <- lapply(dir(pattern = "*.csv"),
function(i){
df <- read.csv(i)
if (all(is.na(df[, 1]))) df <- df[, 2, drop=FALSE]
df
})