r语言 - 文件(文件,"rt")中的错误:无法打开连接(寻找其他解决方案)



我一直在寻找解决方案,但我仍然无法修复它。

如果你有任何想法 ?

我目前的目录是:"C:/Users/François/Desktop/CHALLENGE KAGGLE/données/google">

在这里你可以找到我的代码:

setwd("C:/Users/François/Desktop/CHALLENGE KAGGLE/données/google")
getwd ()
files_names <- list.files(path="C:/Users/François/Desktop/CHALLENGE KAGGLE/données/google")
nb_files <- length(files_names)
data_names <- vector("list",length=nb_files)
for (i in 1 : nb_files)
{
data_names[i] <- strsplit(files_names[i], split=".csv")
}
for (i in 1:nb_files) {
assign(data_names[[i]],
read.csv2(paste (here("/", files_names[i])),sep=",",skip=1))
}

错误消息是:文件(文件,"rt"(中的错误:无法打开连接

我在最后一个循环后收到此错误。第一个效果很好。

谢谢。

不是执行for循环,而是lapply一个选项并将输出存储在list

lst1 <- lapply(file_names, read.csv, skip = 1)
names(lst1) <- sub("\.csv", "", file_names)

最好不要使用assign在全局环境中创建多个对象。 如果真的需要

list2env(lst1, .GlobalEnv)

在 OP 的代码中,对"data_names"的赋值可以是

data_names[[i]] <- strsplit(files_names[i], split=".csv", fixed = TRUE)[[1]]

因为data_names被初始化为list。 通过执行data_names[i],它是在列表中创建一个列表元素。 此外,strsplit的输出是一个list。 在这里,我们分别拆分每个"files_names",因此它将是一个长度为 1 的list。 我们需要将该元素提取为向量([[1]](

最新更新