如何在不同的数据框架上使用相同的功能?

时间:2015-02-17 12:38:46

标签: r loops

我每月有30个数据集,我想分别对它们进行分析,每天给我一个结果值。是否可以循环数据集,对每个数据集进行操作,并在新的数据框中将30个结果值合并在一起。

更具体地说,我每天都有96个读数,例如我想知道它们的平均值,最大值和最小值。因此,使用apply我可以获得它1天然后我将不得不这样做30次,或者我可以创建一个函数并调用它30次。有没有更简单的方法来重复工作。

1 个答案:

答案 0 :(得分:0)

这很简单。将工作目录设置为文件所在的位置。获取list.files()的文件并存储它们。然后编写一个读入文件的函数,并返回一个包含所需信息的data.frame。然后在调用您所使用的函数的文件列表中使用sapply,例如:

setwd("C:\some_dir")
days = list.files()
someFunction = function(day){
    data = read.csv(day)
    return(data.frame(Mean=mean(data),SD=sd(data)))
}
sapply(days,someFunction)