我想按组将数据框写入单独的文件中,但同时我不希望文件中有包含组信息的列.

例如,在下面的代码中,我不希望在每个单独的文件中都有Gear列.

library(dplyr)

mtcars |> 
  group_by(gear) |> 
  do(write.table(., paste0(unique(.$gear), "_.txt"),
               sep = "\t", row.names = F, col.names = F))

有什么主意吗?谢谢.

推荐答案

我们可以用‘Gear’列来表示split,并使用imap来循环指定的list以进行写入

library(dplyr)
library(purrr)
mtcars %>%{
   split(.[-10], .$gear)
    } %>%
   imap(~ write.table(.x, paste0(.y, "_.txt"),
   sep = "\t", row.names = FALSE, col.names = FALSE))

如果要在写入后返回数据集,也可以使用group_modify

mtcars %>% 
  group_by(gear) %>% 
  group_modify(~  {
   write.table(.x, paste0(.y, "_.txt"),
   sep = "\t", row.names = FALSE, col.names = FALSE)
  .x})

R相关问答推荐

基于不同组的列的相关性

pickerInput用于显示一条或多条geom_hline,这些线在图中具有不同 colored颜色

筛选出以特定顺序患病的个体

使用ggsankey调整Sankey图中单个 node 上的标签

如何在一次运行中使用count进行多列计数

在数组索引上复制矩阵时出错

有没有一种方法可以同时对rhandsontable进行排序和从rhandsontable中删除?

从多个可选列中选取一个值到一个新列中

防止在更新SHINY中的Reactive Value的部分内容时触发依赖事件

将列的值乘以在不同数据集中找到的值

如何移动点以使它们的打印不重叠

Ggplot2如何找到存储在对象中的残差和拟合值?

如何在不使用SHINY的情况下将下拉滤镜列表添加到ggploy?

将每晚的平均值与每晚的值进行比较,统计是否有效?

使用nls()函数的非线性模型的半正态图

以列名的字符向量作为参数按行应用自定义函数

使用多状态分析R的多状态分析

按组判断值是否再次出现

在R中的Sankey图表中添加标题

如何使用str_Detect计算并返回列表中检测到的字符串?