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

如何用R语言将含apple、orange、age的数据集转为指定结构新数据框?

R语言实现宽表转长表方案

针对你需要将包含apple、orange、age列的宽数据集转换为FRUITS、AGE、USE列的长数据框的需求,可以用tidyr包的pivot_longer函数快速实现,无需手动编辑行。

步骤1:构造示例数据(替换为你的真实数据集即可)

# 模拟你的原始数据框
df <- data.frame(
  apple = c(3, 4, 8),
  orange = c(2, 5, 9),
  age = c("1-3", "4-6", "7-9")
)

步骤2:宽转长处理

# 首次使用需先安装tidyr包
# install.packages("tidyr")

library(tidyr)

# 执行宽表转长表操作
new_df <- pivot_longer(
  data = df,
  cols = c(apple, orange),  # 指定需要转换的水果列
  names_to = "FRUITS",      # 原列名存入新列FRUITS
  values_to = "USE"         # 原列对应的值存入新列USE
)

# 调整列顺序并修改age列名为AGE
new_df <- new_df[, c("FRUITS", "age", "USE")]
colnames(new_df)[2] <- "AGE"

最终输出结果

运行上述代码后,new_df就是你需要的目标数据框:

# A tibble: 6 × 3
  FRUITS AGE   USE
  <chr>  <chr> <dbl>
1 apple  1-3       3
2 orange 1-3       2
3 apple  4-6       4
4 orange 4-6       5
5 apple  7-9       8
6 orange 7-9       9

这个方法能自动处理30行的真实数据集,完全不需要手动添加行,效率很高。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 20:25:22