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

如何用dplyr在R中基于条件转换指定格式的Dataframe

使用dplyr+tidyr实现数据框格式转换

可以用dplyr配合同属tidyverse的tidyr包完成转换,无需拆分创建多个tibble,直接在原数据框上操作:

假设你的原数据框名为df,执行以下代码:

library(dplyr)
library(tidyr)

df_transformed <- df %>%
  # 将color列的取值转为列名,amount列的值对应填充
  pivot_wider(names_from = color, values_from = amount) %>%
  # 把原fruit列重命名为Apples
  rename(Apples = fruit) %>%
  # 将Apples列的内容替换为#
  mutate(Apples = "#")

转换后得到的数据框如下:

Applesredgreenorange
#201115

如果需要将列名首字母大写(比如red改成Red),可以追加rename_with步骤:

df_transformed <- df %>%
  pivot_wider(names_from = color, values_from = amount) %>%
  rename(Apples = fruit) %>%
  mutate(Apples = "#") %>%
  rename_with(stringr::str_to_title, everything())

调整后结果:

ApplesRedGreenOrange
#201115

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 03:42:06