You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R中按5行增量将多行合并为逗号分隔行

解决R数据框按指定行数合并为逗号分隔行的问题

需求说明

现有如下R数据框:

A
25
12
32
52
56
98
96
53
25
22

需要按每5行一组,将每组数据合并为逗号分隔的字符串,转换后得到:

A
25,12,32,52,56
98,96,53,25,22

解决方案(dplyr实现)

你之前的代码未成功是因为缺少分组步骤,直接使用summarise会把所有行合并成一行。只需先按每5行创建分组,再对每组进行汇总即可,完整代码如下:

library(dplyr)

# 构造原始数据框
temp_df <- data.frame(A = c(25,12,32,52,56,98,96,53,25,22))

# 按每5行分组,合并为逗号分隔字符串
result_df <- temp_df %>%
  # 创建分组标识:每5行一组
  mutate(group = floor((row_number() - 1)/5)) %>%
  # 按分组汇总,合并每组的A值
  group_by(group) %>%
  summarise(A = paste(A, collapse = ",")) %>%
  # 移除分组列(可选)
  select(-group)

# 查看结果
print(result_df)

运行后会得到目标数据框:

# A tibble: 2 × 1
  A                 
  <chr>             
1 25,12,32,52,56
2 98,96,53,25,22

补充:base R实现方法

如果不想使用dplyr,也可以用base R的split和sapply完成:

temp_df <- data.frame(A = c(25,12,32,52,56,98,96,53,25,22))

# 按每5行拆分数据
split_list <- split(temp_df$A, ceiling(seq_along(temp_df$A)/5))
# 合并每组为逗号分隔字符串,转为数据框
result_df <- data.frame(A = sapply(split_list, paste, collapse = ","))

print(result_df)

内容的提问来源于stack exchange,提问作者thelordmcd

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 16:15:57