0

以下の関数は、1 を使用するか、場所として 1 から開始すると機能します。別の番号 (例: 2 または 3:5 など) を使用すると、次のエラーcannot open file 'foo\NA.csv': No such file or directory.が表示されます。なぜこの「NA」という価値が生み出されているのか、私にはわかりません。すべてのファイルには番号が付いています (例: 001、010、100) .csv

fix1 <- function(dir, place = 1:10) {
  nrows <- vector()
  for (i in place){
      id <- formatC(as.integer(place), 2, flag=0)
      in_file <-paste(dir,"\\", id[i], ".csv",sep="")
      in_data <- read.csv(in_file, header=T, sep=",")
      nrows <- c(nrows, (nrow(in_data)))
      }
return(df1 <- data.frame(place,nrows))  
return(df1)

  }
4

1 に答える 1

3

代わりにこれを試すことができます:

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)
}
于 2013-10-04T18:37:35.660 に答える