R 不要在Lappy中的列表中收集结果
假设我有一个定义如下的文件结构: 有三个文件夹:R 不要在Lappy中的列表中收集结果,r,R,假设我有一个定义如下的文件结构: 有三个文件夹:A、B和C。每个文件夹都包含一个名为file\u demo.csv的文件。现在我想从每个文件夹中读取文件,对它们执行一些操作,并将它们导出到不在这些文件夹中的三个新文件中。随后,我使用lappy()来执行此操作 下面是一些演示代码: # the folder list folder_list <- c('A', 'B', 'C') # creating demo data frames set.seed(1) file_demo_a &l
A
、B
和C
。每个文件夹都包含一个名为file\u demo.csv
的文件。现在我想从每个文件夹中读取文件,对它们执行一些操作,并将它们导出到不在这些文件夹中的三个新文件中。随后,我使用lappy()
来执行此操作
下面是一些演示代码:
# the folder list
folder_list <- c('A', 'B', 'C')
# creating demo data frames
set.seed(1)
file_demo_a <- data.frame(X = rnorm(5),
Y = rpois(5, lambda = 2))
write_csv(file_demo_a, 'A/file_demo.csv')
set.seed(2)
file_demo_b <- data.frame(X = rnorm(5),
Y = rpois(5, lambda = 2))
write_csv(file_demo_b, 'B/file_demo.csv')
set.seed(3)
file_demo_c <- data.frame(X = rnorm(5),
Y = rpois(5, lambda = 2))
write_csv(file_demo_c, 'C/file_demo.csv')
# defining a function
df_mod_func <- function(folder_name){
path_name <- paste(folder_name, 'file_demo.csv', sep = "/")
new_demo <- read_csv(path_name)
new_demo <- new_demo + 1 # do a new operation
csv_file_name <- paste(folder_name, 'new_file_demo.csv', sep = "_")
new_demo %>% write_csv(csv_file_name)
# return(NULL)
}
lapply(folder_list, df_mod_func)
#文件夹列表
文件夹列表如果只是为了不打印结果,您可以始终使用invisible(),如中所示:
如果只是不打印结果,则始终可以使用invisible(),如中所示:
invisible( lapply( folder_list, df_mod_func ) )