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

R语言数据框多列按每N行拆分转多行后堆叠的实现方法求助

实现方案

核心逻辑和你之前单列转换的逻辑保持一致,仅扩展为多列批量处理后按行堆叠即可,以下是基础R的无额外依赖实现:

# 第一步:构造你提供的示例输入数据
input_df <- data.frame(
  x = c("A", "3", "3", "6", "B", "4", "3", "7", "C", "7", "3", "6"),
  y = c("D", "5", "7", "7", "E", "5", "3", "7", "F", "4", "6", "8"),
  z = c("G", "6", "4", "5", "H", "2", "4", "6", "I", "3", "9", "0")
)

# 第二步:核心转换逻辑
# 遍历每一列执行单列转置规则,再把所有列的转换结果按行拼接
result_df <- do.call(
  rbind,
  lapply(input_df, function(col_data) {
    data.frame(matrix(col_data, ncol = 4, byrow = TRUE))
  })
)

# 第三步:调整列名和行号匹配预期输出
colnames(result_df) <- c("w", "x", "y", "z")
rownames(result_df) <- NULL

运行后输出的result_df即为你需要的目标结构,如果你需要调整每N行拆分的长度,只需要修改matrix函数里的ncol参数即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 19:27:03