动态创建来自其他CSV文件的CSV文件R
问题描述:
假设我在一个名为“我的数据”的文件夹中有一组CSV文件,该文件夹是我的工作目录中的一个文件夹。 CSV文件时矩阵和看起来像:“我的成绩”动态创建来自其他CSV文件的CSV文件R
> 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")
你得到包convienient bind_rows功能dplyr
'setwd( “MYDATA”); out Thomas