R 将列表中的数据帧分为两列;我";及;j";做统计分析

R 将列表中的数据帧分为两列;我";及;j";做统计分析,r,R,我有一个366个数据帧的列表,每个DG包含3列,即;“i”、“j”和“值”。我想将这些数据帧合并到一个数据帧中,以进行统计分析,如平均值、模式、中值。每个列表包含几乎相同数量的观察结果 假设数据集位于您的工作目录中,并且文件名中有一些唯一标识符(例如“dataset”):“dataset1.csv”、“dataset2.csv”、“dataset3.csv”等,并且您不介意使用tidyverse,以下操作应该有效: library(tidyverse) file_names <- lis

我有一个366个数据帧的列表,每个DG包含3列,即;“i”、“j”和“值”。我想将这些数据帧合并到一个数据帧中,以进行统计分析,如平均值、模式、中值。每个列表包含几乎相同数量的观察结果

假设数据集位于您的工作目录中,并且文件名中有一些唯一标识符(例如“dataset”):“dataset1.csv”、“dataset2.csv”、“dataset3.csv”等,并且您不介意使用
tidyverse
,以下操作应该有效:

library(tidyverse)

file_names <- list.files() %>%
   str_extract(., "dataset")

my_df <- map(file_names, ~ read_csv(.x)) %>% bind_rows()

库(tidyverse)
文件名%
str_摘录(,“数据集”)
my_df%bind_rows()
基本R选项:

set.seed(42)

listdat因为它们没有相同的观察结果,也许你的意思是将它们组合起来,这样你就有了一个框架和三列,对吗?也许您需要第四列来指示它们最初属于哪个帧?可能是您正在寻找的。请考虑只包括您需要的包。code>tidyverse
是一个庞大的元软件包,不是每个人都已经安装或可以安装。(我有几台计算机无法安装任意软件包。)在这种情况下,我们只需要
dplyr
purr
stringr
readr
。正如我们鼓励问题具体列出非基本包一样,在我们的答案中提供相同程度的具体性也是一种礼貌。谢谢注意到了。我有点像一个
tidyverse
partizan,我认为这对刚开始使用R的新用户特别有帮助,因为它比BaseR(我自己开始学习)更人性化,而且对于一般人来说,非专家用户只想在他们的笔记本电脑上运行一些分析&不必担心优化之类的事情,tidyverse通常是一个救生员。不过,我会添加一个附录。我不是反对使用tidyverse软件包(这是一个完全独立的主题),我只是在评论一个事实,即不是每个人都安装了tidyverse,如果你“只是”尝试这个答案,那将是一个相当长/巨大的考验。就这些,谢谢!或者如果是
dplyr
bind_rows(lstdat,.id='name')
或者是
rbindlist(lstdat,idcol='name')
更有效,因为OP有很多数据集,我想了想,我只是没有时间提前演示那些公认的更短的代码片段。谢谢