R数据框仅转置指定列的数据格式化实现方法咨询
R语言宽表转指定长表实现方法
你需要做的是宽表转长表操作,同时根据目标输出需要先对原始重复行去重,以下是两种常用实现方案:
方法1:tidyverse套件方案(当前主流写法)
# 加载依赖包,未安装先执行 install.packages("tidyverse") library(tidyverse) # 转换逻辑 result <- df %>% distinct() %>% # 移除原始数据的重复行,不需要去重可删除该行 pivot_longer( cols = c(A, B), names_to = "company", values_to = "Variable" )
方法2:reshape2包方案(兼容旧版R环境)
# 加载依赖包,未安装先执行 install.packages("reshape2") library(reshape2) # 转换逻辑 df_unique <- unique(df) # 移除原始数据的重复行,不需要去重可删除该行 result <- melt( data = df_unique, id.vars = "year", variable.name = "company", value.name = "Variable" )
如果不需要去重,删除对应去重代码即可,最终输出会保留原始所有行拆分后的8条记录。
内容的提问来源于stack exchange,提问作者thomas.diridondo
相关产品推荐
相关产品推荐

