从R中的其他CSV文件动态创建CSV文件

时间:2015-08-28 15:13:56

标签: r csv matrix dataframe

假设我在一个名为“my data”的文件夹中有一组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

假设我的工作目录中有另一个名为“my results”的文件夹。在其中我想创建另一个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的列将对应于特定的分析运行。谢谢。

1 个答案:

答案 0 :(得分:1)

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函数