我有一个带有三个参数的R函数,从我指定的目录中的文件创建一个数据帧,然后返回我名字的列的平均值。代码看起来像这样:
meanOfAColumn(directory, columnName, numberOfFilesInDirectory){
df = data.frame()
filesList <- list.files(directory, full.names = TRUE)
for (i in numberOfFilesInDirectory) {
df <- rbind(df, read.csv(filesList[i], header = TRUE
}
mean(df$columnName, na.rm = TRUE)
}
我知道这是将所有文件都放入数据帧的糟糕方法;在R中循环是slooooow。但是,如果函数返回正确答案,我准备处理这个问题。它没有。我明白了
[1] NA
Warning message:
In mean.default(df$columnName, na.rm = TRUE) :
argument is not numeric or logical: returning NA
而不是正确答案。
哪个,很好,但是当我将我的函数中的行复制粘贴到R-Studio中的R控制台并以这种方式运行时,我得到了正确的答案。我正在使用source()命令,所以我不认为该功能没有更新。