首页 > 解决方案 > 我可以在基于第三列拆分后写入特定列吗?

问题描述

我有一个非常大的文件。我用了:

#split 文件在一行中按名称分成块,在这种情况下是行“BBB”

new_df <- split(old_df, f = old_df$BBB)

#将这些块写入单个 .csv 文件,名称为每个块的名称

save_fun <- function(new_df, name_i) {
  fwrite(new_df, file = paste0("~/Desktop/Rprojects/", name_i, ".csv")) 
}

#将文件保存在您的计算机上

mapply(FUN = save_fun, new_df, name_i = names(new_df), SIMPLIFY = FALSE)

这为我提供了 BBB 列中每个同名块的单独文件。但作为最后的调整,我希望 .csv 不包含一个只有同名的完整列,这是不必要的。我知道它split是基于原始文件的 BBB 列,但是当我将它写入 .csv 时,我不希望它在那里。我的想法是我应该只写我需要的东西。我试过了

save_fun <- function(new_df, [c("year", "month")], name_i) {
      fwrite(new_df, file = paste0("~/Desktop/Rprojects/", name_i, ".csv")) 
    }

save_fun <- function(new_df, (c(2, 3)), name_i) {
      fwrite(new_df, file = paste0("~/Desktop/Rprojects/", name_i, ".csv")) 
    }

save_fun <- function(new_df, name_i) {
      fwrite(new_df, [c("year", "month")], file = paste0("~/Desktop/Rprojects/", name_i, ".csv")) 
    }

save_fun <- function(new_df, name_i) {
      fwrite(new_df, select = c("year", "month"), file = paste0("~/Desktop/Rprojects/", name_i, ".csv")) 
    }

以及其他各种迭代。拆分一列然后不想在最终输出中显示该列是愚蠢的吗?谢谢。我希望这是有道理的。

标签: selectsplitfwrite

解决方案


推荐阅读