zoukankan      html  css  js  c++  java
  • 表格转换,多行聚集成列,长列转换成多行

    ------------恢复内容开始------------

    我从中学开始就立体,较多维的数据理解不强,所以这部分进度慢些很正常

    R ggplot2绘图常用一维数据列表的数据框,所以常用到多行聚为列这个功能。

    减列数,创建一维:

    常用包:reshape2,tidyr以及聚集了tidyr等包的tidyverse。

    创建例子df<-data.frame(x=c("A","B","C"),"2010"=c(1,3,4),'2011'=c(3,5,2),check.names=FALSE)

    reshap2::melt(数据框,id.var=索引列,variable.name=转换后列变量名的列名,value.name=转换后变量对应值的列名)

    > df_melt<-reshape2::melt(df,id.var="x",variable.name="year",value.name="value")

    tidyr::gather(数据框,转换后列变量名的列名,转换后变量对应值的列名,-索引列)

    注:-索引列是指除索引列其他都聚合。

    > df_gather<-tidyr::gather(df,year,value,-x)

    上面俩函数运行结果相同:

    加列数,加维 

    reshape2::dcast(数据框,行标签~列标签,value.var=列对应的值)   注:这里行标签指第一列自变量标签

    reshape2::dcast(df_melt,x~year,value.var = "value")

    tidyr::spread(数据框,待转的列标签,对应的值)

    df_spread<-tidyr::spread(df_gather,year,value)

     备注:tidyverse是Hadley创建的R包的集合。核心软件包是ggplot2,dplyr,tidyr,readr,purrr,tibble,stringr和forcats。其中readr用于读取数据,tidyr用于整理数据,dplyr用于数据转换,ggplot2用于数据可视化,purrr用于函数式编程。

    本文来自博客园,作者:BioinformaticsMaster,转载请注明原文链接:https://www.cnblogs.com/koujiaodahan/p/15358932.html

  • 相关阅读:
    2016年10月30日表单标签与样式表分类和选择器
    2016年10月29日常用标签与表格
    2016年10月28日网页属性和通用标签
    10月27日体会目标
    字符串学习笔记
    [51nod1789] 跑得比谁都快
    [洛谷9月月赛]签到题
    [LUOGU2730] 魔板
    [SCOI2009]迷路
    [51nod1074] 约瑟夫问题 V2
  • 原文地址:https://www.cnblogs.com/koujiaodahan/p/15358932.html
Copyright © 2011-2022 走看看