R函数:用于创建循环;不适用;值而不是整数
当我使用1或以1开头表示位置时,下面的函数起作用。如果我使用另一个数字(例如2或3:5等),我会出现以下错误R函数:用于创建循环;不适用;值而不是整数,r,function,for-loop,R,Function,For Loop,当我使用1或以1开头表示位置时,下面的函数起作用。如果我使用另一个数字(例如2或3:5等),我会出现以下错误无法打开文件'foo\NA.csv':没有这样的文件或目录。这是我正在处理的作业问题修改的。我不知道为什么要创造“NA”这个值。所有文件均命名为编号(例如001、010、100).csv fix1您可以尝试以下方法: fix1 <- function(dir, place = 1:10) { nrows <- integer(length(place)) # agst
无法打开文件'foo\NA.csv':没有这样的文件或目录。
这是我正在处理的作业问题修改的。我不知道为什么要创造“NA”这个值。所有文件均命名为编号(例如001、010、100).csv
fix1您可以尝试以下方法:
fix1 <- function(dir, place = 1:10) {
nrows <- integer(length(place)) # agstudy's suggestion; more efficient
for (i in seq_along(place)){
id <- formatC(as.integer(place[i]), 2, flag=0)
in_file <- paste(dir, "\\", id, ".csv",sep="")
in_data <- read.csv(in_file, header=T, sep=",")
nrows[i] <- nrow(in_data)
}
data.frame(place=place,nrows=nrows)
}
fix1您可以尝试以下方法:
fix1 <- function(dir, place = 1:10) {
nrows <- integer(length(place)) # agstudy's suggestion; more efficient
for (i in seq_along(place)){
id <- formatC(as.integer(place[i]), 2, flag=0)
in_file <- paste(dir, "\\", id, ".csv",sep="")
in_data <- read.csv(in_file, header=T, sep=",")
nrows[i] <- nrow(in_data)
}
data.frame(place=place,nrows=nrows)
}
fix1您正在使用i
来表示place
中的实际元素,以及一个计数器来指示您在向量place
中的位置。你不能两者都做。考虑一下,如果place=2
,那么id[i]
第一次通过循环返回的是什么id[i]
,您使用i
来表示place
中的实际元素,并使用计数器指示您在向量place
中的位置。你不能两者都做。想想如果place=2
的id,那么id[i]
第一次通过循环返回什么