Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/73.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中read.csv的变量文件名_R_Csv - Fatal编程技术网

R中read.csv的变量文件名

R中read.csv的变量文件名,r,csv,R,Csv,这可能是一个非常常见的问题,所以我特别寻找一个优雅的或至少比我的解决方案不那么麻烦的解决方案 我有一系列从001.csv到200.csv的文件。我需要能够在函数中选择我想要的,以便传递列表,并且只选择适当的列表 function(filenumbers = 1:200 { } 我创建了一组非常难看的if语句,以便在必要时提供“00”和“0”前缀: for (i in filenumbers) { if (i < 10) {filename<-paste("00", i, ".csv

这可能是一个非常常见的问题,所以我特别寻找一个优雅的或至少比我的解决方案不那么麻烦的解决方案

我有一系列从001.csv到200.csv的文件。我需要能够在函数中选择我想要的,以便传递列表,并且只选择适当的列表

function(filenumbers = 1:200 {
}
我创建了一组非常难看的if语句,以便在必要时提供“00”和“0”前缀:

for (i in filenumbers) {
if (i < 10) {filename<-paste("00", i, ".csv", sep ="")
} else if (i < 100) {filename<-paste("0", i, ".csv", sep="")
} else {filename<-paste(i, ".csv", sep="")}
print(filename)
}
for(文件号中的i){

如果(i<10){filename,这将是对
sprintf
函数的一个很好的使用

sprintf("%03d.csv", 1:200)

#   [1] "001.csv" "002.csv" "003.csv" "004.csv" "005.csv"
#   [6] "006.csv" "007.csv" "008.csv" "009.csv" "010.csv"
#     ...
#  [96] "096.csv" "097.csv" "098.csv" "099.csv" "100.csv"
# [101] "101.csv" "102.csv" "103.csv" "104.csv" "105.csv"
#     ...
# [191] "191.csv" "192.csv" "193.csv" "194.csv" "195.csv"
# [196] "196.csv" "197.csv" "198.csv" "199.csv" "200.csv"

formatC()
paste0()
的组合应该可以工作:

paste0(formatC(1:200, width = 3, format = "d", flag = 0), ".csv")