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

R语言实现数据框奇偶列筛选并堆叠到指定列的高效方法

基础R实现(无需额外依赖包)

该方案完全适配任意数量的交替列场景,无需硬编码指定列序号:

# 提取所有奇数位置的Week列,转为一维向量
week_all <- unlist(pharm[, seq(1, ncol(pharm), by = 2)], use.names = FALSE)
# 提取所有偶数位置的Sales列,转为一维向量
sales_all <- unlist(pharm[, seq(2, ncol(pharm), by = 2)], use.names = FALSE)
# 合并为最终数据框
pharm2 <- data.frame(week = week_all, sales = sales_all)

tidyverse 实现(代码更易维护)

如果日常使用tidyverse套件,用pivot_longer可实现更灵活的长表转换:

library(tidyverse)

pharm2 <- pharm %>%
  pivot_longer(
    cols = everything(),
    names_to = c(".value", NA),
    # 每两列作为一组拆分,适配Week、Sales交替排布的结构
    names_sep = 1
  )

两种方案均适配任意列数的同结构数据集,不需要手动调整列索引。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 23:36:04