【发布时间】:2021-12-31 13:11:06
【问题描述】:
我正在尝试编写一个导入 .csv 文件的 R 函数,对其进行一些修改(此处删除空列)并将修改后的数据框导出为新的 .csv 文件。我有两个问题:
-
我希望函数使用“primary.csv”文件的名称并向其添加“modified”,以便导出的 .csv 文件类似于“primary_modified.csv”
-
我希望该函数作为一个循环工作,这样我就可以同时为多个数据帧运行它,而不是一个一个地运行。
感谢大家。
这是我所拥有的:
# create a function to remove all empty columns and save and write a new csv
removeEmptyCol <- function(x){
df <- read.csv(x)
colSums(is.na(df) | df == "")
empty_columns <- colSums(is.na(df) | df == "") == nrow(df)
df <- df[, !empty_columns]
df[is.na(df)] <- ""
# need to change the file name for each dataframe
write.csv(df, "Trimmed-1.csv")
【问题讨论】:
-
第一部分的问题很简单。您只需使用正则表达式来替换文件名。比如:new_filename
-
关于第二部分,循环本质上是顺序的,所以不清楚你所说的“同时”是什么意思。你想要没有循环的并行执行吗?还是没有循环的向量化执行?