R:想要来自多个输出文件的随机记录

时间:2017-05-11 21:50:48

标签: r csv gis

我很擅长使用R,所以我不确定是否有一个简单的解决方案来满足我的需求。

我为多个位置的3个不同变量创建了文件夹。例如,在文件夹A,B和C中的每一个中,存在多个输出文件,其名称类似于文件夹A:A_1,A_2,A_3,文件夹B:B_1,B_2,B_3,文件夹C:C_1,C_2,C_3。每个文件都是.csv文件

我想创建一个新脚本,它将获取每个文件,并为我提供6个包含所有变量的随机记录,以便我可以将输出与原始数据集进行比较。

这需要创建新文件还是只能在R中打开?我需要使用哪些关键功能?

CNC中 文件夹A有11个文件,文件夹B有11个文件,文件夹C有6个文件。 文件夹A中的单个文件有2154行,其余文件大小相似。我希望每个文件中的6个随机记录/行以某种方式显示,无论它是在R中还是在单独的文件中。

1 个答案:

答案 0 :(得分:0)

要查找工作目录(包括子目录)中的所有.csv文件,可以将list.files与一些参数一起使用:

all_csvs <- list.files(pattern = ".csv$", recursive = TRUE)

all_csvs对象将是一个包含所有文件名的字符向量。

您应该能够使用以下内容一次将所有文件读入一个数据框:

library(tidyverse)
all_data <- map_df(all_csvs, ~read_csv(.))

您可以使用以下内容读取每个.csv文件的前10行:

first_10 <- map_df(all_csvs, ~read_csv(., n_max = 10))

如果您想从每个.csv中取10个随机行,请尝试以下方法:

random_10 <- map_df(all_csvs, ~read_csv(.) %>% sample_n(10))