Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
读取多个文件以对每个文件运行分析,并将它们存储在r studio中的一个文件中_R_Loops_Csv_For Loop_Dataframe - Fatal编程技术网

读取多个文件以对每个文件运行分析,并将它们存储在r studio中的一个文件中

读取多个文件以对每个文件运行分析,并将它们存储在r studio中的一个文件中,r,loops,csv,for-loop,dataframe,R,Loops,Csv,For Loop,Dataframe,我有6个文件夹,每个文件夹都包含2200个CSV文件,我知道如何在一个文件中读取它们并创建一个联合数据集,但问题是我需要对每个文件应用统计函数,然后将每个文件中设置的值与文件名一起存储到另一个文件中。因为我只需要分析每个文件的第5列和第6列,并计算这些列和每个文件的标准偏差、平均值、方差、偏度和峰度。 然后,我的数据集将是第一列中所有文件的名称,Std dev作为第二列,mean作为第三列,依此类推 我无法通过循环分析找到第5列和第6列single-2文件的统计参数。如果有人能帮我解决这一问题,

我有6个文件夹,每个文件夹都包含2200个CSV文件,我知道如何在一个文件中读取它们并创建一个联合数据集,但问题是我需要对每个文件应用统计函数,然后将每个文件中设置的值与文件名一起存储到另一个文件中。因为我只需要分析每个文件的第5列和第6列,并计算这些列和每个文件的标准偏差、平均值、方差、偏度和峰度。 然后,我的数据集将是第一列中所有文件的名称,Std dev作为第二列,mean作为第三列,依此类推


我无法通过循环分析找到第5列和第6列single-2文件的统计参数。如果有人能帮我解决这一问题,那将对我非常有帮助。

在这里展开我的评论是一个最小的可重复的例子

当您读取CSV文件时,应该会得到data.frames的列表。由于您不提供示例数据或可复制的最小示例,因此让我们生成一个包含2个data.frames的列表作为示例数据

set.seed(2017)
lst <- replicate(2, data.frame(x1 = rnorm(10), x2 = rnorm(10), x3 = rnorm(10)), simplify = F)
现在,我们使用lappy循环遍历data.frames列表,并将calc.sum.stats应用于每个data.frames的第2列和第3列。我们将输出存储在一个新列表中;或者,您可以将输出写入新文件

lst.out <- lapply(lst, function(x) sapply(x[, 2:3], calc.sum.stats))
lst.out
#[[1]]
#                 x2          x3
#Std.Dev 1.096376114  0.99908334
#Mean    0.001866057 -0.01558136
#Var     1.202040583  0.99816751
#Skew    0.195200696  0.25926229
#Kur     1.545595827  2.75636328
#
#[[2]]
#                 x2          x3
#Std.Dev  0.89417725  1.19341132
#Mean     0.11378986 -0.01771822
#Var      0.79955296  1.42423058
#Skew    -0.05177617  0.08220936
#Kur      1.45491801  1.72107415

那么,实际的问题是什么?只需使用类似lapplylist_的文件,functionx{df
lst.out <- lapply(lst, function(x) sapply(x[, 2:3], calc.sum.stats))
lst.out
#[[1]]
#                 x2          x3
#Std.Dev 1.096376114  0.99908334
#Mean    0.001866057 -0.01558136
#Var     1.202040583  0.99816751
#Skew    0.195200696  0.25926229
#Kur     1.545595827  2.75636328
#
#[[2]]
#                 x2          x3
#Std.Dev  0.89417725  1.19341132
#Mean     0.11378986 -0.01771822
#Var      0.79955296  1.42423058
#Skew    -0.05177617  0.08220936
#Kur      1.45491801  1.72107415