我有许多excel文件(.xlsx(,用于存储运动员VO2max测试数据,我想作为一个小组进行分析。每个文件代表一个客户端,我可以用以下代码将所有文件放入R中的列表中:
files <- list.files(path = "C:/Users/.../vo2 tests", pattern = "*.xlsx", full.names = T)
然后,我希望能够从excel文件中特定工作表的特定列中找到最大值(这是客户端VO2max(。到目前为止,以下代码可以找到我需要的值,但只返回其中1个文件的结果,但我希望该函数运行并从每个excel文件中收集,并输出到一个新的数据框架中:
tbl <- lapply(files, read_excel, sheet = "Averages", skip = 2)
max(tbl[[1]][["ml/Kg/min"]])
一旦我把所有的VO2max值都放入一个新的数据帧中,我想取平均值&用于报告的新数据集的标准偏差。目的是我可以为我的客户提供一个不断更新的排名系统,与其他运动员相比,他们的表现。如有任何帮助,我们将不胜感激。
读取文件后,可以获取每个文件中列的max
。
all_maxs <- sapply(tbl, function(x) max(x[["ml/Kg/min"]], na.rm = TRUE))
然后您可以服用mean
或all_maxs
中的sd
。