[英]Dynamically create CSV file from other CSV files in R
假设我在一个名为“我的数据”的文件夹中有一组CSV文件,这是我的工作目录中的一个文件夹。 CSV文件是矩阵,看起来像:
> a
[,1] [,2] [,3] [,4]
[1,] 3 3 3 3
[2,] 3 3 3 3
[3,] 3 3 3 3
[4,] 3 3 3 3
> b
[,1] [,2] [,3] [,4]
[1,] 1 1 1 1
[2,] 2 2 2 2
[3,] 1 1 1 1
[4,] 2 2 2 2
> c
[,1] [,2] [,3] [,4]
[1,] 3 3 3 3
[2,] 9 9 9 9
[3,] 3 3 3 3
[4,] 9 9 9 9
假设我的工作目录中还有一个名为“我的结果”的文件夹。 在其中,我想创建另一个CSV文件(称为“ my_results”),该文件具有在“我的数据”中对CSV文件执行的分析结果。 例如,如果我计算a,b和c的平均值和标准偏差,则“ my_results”将如下所示:
> my_results
mean sd
a 3.0 0.00
b 1.5 0.52
c 6.0 3.10
想法是新CSV的每一行将对应于“我的数据”中的CSV之一,而新CSV的列将对应于特定的分析运行。 谢谢。
lapply是您的朋友:
my_data = lapply(list.files("my data", "*.csv"), read.csv)
my_result = lapply(my_data, your_fun())
write.csv(dplyr::bind_rows(my_result), "my data/my results.csv")
您可以使用dplyr软件包获得便捷的bind_rows函数
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.