程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了将数据框中的列转换为行,将行转换为列大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决将数据框中的列转换为行,将行转换为列?

开发过程中遇到将数据框中的列转换为行,将行转换为列的问题如何解决?下面主要结合日常开发的经验,给出你关于将数据框中的列转换为行,将行转换为列的解决方法建议,希望对你解决将数据框中的列转换为行,将行转换为列有所启发或帮助;

您好,我想将这个数据框(dataInit)转换成另一个(dataFinish),我想要的是将行转换为列

date <- c('2021-03-14','2021-03-15')
CONG_TCH <- c(5.7,3.5)
CONG_SDCCH <- c(2.3,4.6)
ACC <- c(4.5,10.2)
RET <- c(3.5,2.6)
SER <- c(19.5,56.2)
dataInit <- data.frame(date,CONG_TCH,CONG_SDCCH,ACC,RET,SER)

values <- c('CONG_TCH','CONG_SDCCH','ACC','RET','SER')
Day1 <- c(5.7,2.3,4.5,3.5,19.5)
Day2 <- c(3.5,4.6,10.2,2.6,56.2)
dataFinish <- data.frame(values,Day1,Day2)

names(dataFinish)[2]<- '2021-03-14'
names(dataFinish)[3]<- '2021-03-15'

感谢帮助我是我在 R 中的一项任务

解决方法

两次重塑数据:

library(tidyr)

dataInit %>%
  pivot_longer(cols = -datE) %>%
  pivot_wider(names_from = date,values_from = value)

#   name       `2021-03-14` `2021-03-15`
#  <chr>             <dbl>        <dbl>
#1 CONG_TCH            5.7          3.5
#2 CONG_SDCCH          2.3          4.6
#3 ACC                 4.5         10.2
#4 RET                 3.5          2.6
#5 SER                19.5         56.2

或使用 data.table :

library(data.tablE)
dcast(melt(setDT(dataInit),id.vars = 'date'),variable~date,value.var = 'value')

大佬总结

以上是大佬教程为你收集整理的将数据框中的列转换为行,将行转换为列全部内容,希望文章能够帮你解决将数据框中的列转换为行,将行转换为列所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。