Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R函数:用于创建循环;不适用;值而不是整数_R_Function_For Loop - Fatal编程技术网

R函数:用于创建循环;不适用;值而不是整数

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

当我使用1或以1开头表示位置时,下面的函数起作用。如果我使用另一个数字(例如2或3:5等),我会出现以下错误
无法打开文件'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]
第一次通过循环返回什么