通过R教程,我很难理解。
目录是包含大量csv文件的文件夹。该函数将id作为一个或多个文件的id,并返回每个文件中的记录数。
我的功能:
complete <- function(directory,id = 1:332) {
csvfiles <- sprintf("/Users/myname/Desktop/%s/%03d.csv", directory, id)
nrows <- sapply( csvfiles, function(f) nrow(read.csv(f)))
data.frame(ID=sprintf('%03d', id),
countrows=sapply(csvfiles,function(x) length(count.fields(x))),
row.names=id
)
}
然后完成(“specdata”,100:105) 返回
ID countrows
100 100 1097
101 101 731
102 102 1462
103 103 3653
104 104 2558
105 105 2192
我必须做什么才能使最左边的列是从1开始的序列?因此,例如,第一个记录将是1 100&amp; 1092,第二记录2 101&amp; 731
答案 0 :(得分:5)
第一个明显的列只是行的名称(例如ncol(specdata)
)。您可以按如下方式重命名行:
row.names(specdata) <- 1:nrow(specdata)
答案 1 :(得分:2)
在函数内部,在数据帧调用中使用它:
row.names = 1: length(id)