R语言数据框行转列实例

目的:须要把数据框的行列进行转置

方法:

# 原始数据框

> hrl_jd_mon

年份 一月 二月 三月 四月 五月 六月 七月 八月 九月 十月 十一月 十二月

1 2010年 51.2 45.8 55.8 62.9 63.8 59.5 80.5 78.0 66.0 92.3  50.80   55.6

2 2011年 54.8 54.4 64.1 78.5 64.5 63.4 95.3 89.2 68.8 86.1  51.40   52.4

3 2012年 53.0 46.1 52.8 72.6 49.8 50.1 65.3 64.6 54.4 73.0  39.40   40.5

4 2013年 40.7 43.7 45.1 50.9 40.7 41.1 50.7 54.5 37.8 62.5  30.20   29.6

5 2014年 28.2 34.1 30.3 33.4 31.5 23.5 32.3 33.0 22.5 29.9   3.31    0.0

# 转置过程:

> 月份 <- c("一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月")

> data.frame(hrl_jd_mon,row.names=1)

一月 二月 三月 四月 五月 六月 七月 八月 九月 十月 十一月 十二月

2010年 51.2 45.8 55.8 62.9 63.8 59.5 80.5 78.0 66.0 92.3  50.80   55.6

2011年 54.8 54.4 64.1 78.5 64.5 63.4 95.3 89.2 68.8 86.1  51.40   52.4

2012年 53.0 46.1 52.8 72.6 49.8 50.1 65.3 64.6 54.4 73.0  39.40   40.5

2013年 40.7 43.7 45.1 50.9 40.7 41.1 50.7 54.5 37.8 62.5  30.20   29.6

2014年 28.2 34.1 30.3 33.4 31.5 23.5 32.3 33.0 22.5 29.9   3.31    0.0

> t1 <- t(data.frame(hrl_jd_mon,row.names=1))

> t1

2010年 2011年 2012年 2013年 2014年

一月     51.2   54.8   53.0   40.7  28.20

二月     45.8   54.4   46.1   43.7  34.10

三月     55.8   64.1   52.8   45.1  30.30

四月     62.9   78.5   72.6   50.9  33.40

五月     63.8   64.5   49.8   40.7  31.50

六月     59.5   63.4   50.1   41.1  23.50

七月     80.5   95.3   65.3   50.7  32.30

八月     78.0   89.2   64.6   54.5  33.00

九月     66.0   68.8   54.4   37.8  22.50

十月     92.3   86.1   73.0   62.5  29.90

十一月   50.8   51.4   39.4   30.2   3.31

十二月   55.6   52.4   40.5   29.6   0.00

> t2 <- as.data.frame(t1,row.names=F)

> t2

2010年 2011年 2012年 2013年 2014年

1    51.2   54.8   53.0   40.7  28.20

2    45.8   54.4   46.1   43.7  34.10

3    55.8   64.1   52.8   45.1  30.30

4    62.9   78.5   72.6   50.9  33.40

5    63.8   64.5   49.8   40.7  31.50

6    59.5   63.4   50.1   41.1  23.50

7    80.5   95.3   65.3   50.7  32.30

8    78.0   89.2   64.6   54.5  33.00

9    66.0   68.8   54.4   37.8  22.50

10   92.3   86.1   73.0   62.5  29.90

11   50.8   51.4   39.4   30.2   3.31

12   55.6   52.4   40.5   29.6   0.00

# 终于成品

> t3 <- as.data.frame(cbind(月份,t2))

> t3

月份 2010年 2011年 2012年 2013年 2014年

1    一月   51.2   54.8   53.0   40.7  28.20

2    二月   45.8   54.4   46.1   43.7  34.10

3    三月   55.8   64.1   52.8   45.1  30.30

4    四月   62.9   78.5   72.6   50.9  33.40

5    五月   63.8   64.5   49.8   40.7  31.50

6    六月   59.5   63.4   50.1   41.1  23.50

7    七月   80.5   95.3   65.3   50.7  32.30

8    八月   78.0   89.2   64.6   54.5  33.00

9    九月   66.0   68.8   54.4   37.8  22.50

10   十月   92.3   86.1   73.0   62.5  29.90

11 十一月   50.8   51.4   39.4   30.2   3.31

12 十二月   55.6   52.4   40.5   29.6   0.00

> str(t3)

‘data.frame‘:        12 obs. of  6 variables:

$ 月份  : Factor w/ 12 levels "八月","二月",..: 12 2 6 10 11 4 5 1 3 9 ...

$ 2010年: num  51.2 45.8 55.8 62.9 63.8 59.5 80.5 78 66 92.3 ...

$ 2011年: num  54.8 54.4 64.1 78.5 64.5 63.4 95.3 89.2 68.8 86.1 ...

$ 2012年: num  53 46.1 52.8 72.6 49.8 50.1 65.3 64.6 54.4 73 ...

$ 2013年: num  40.7 43.7 45.1 50.9 40.7 41.1 50.7 54.5 37.8 62.5 ...

$ 2014年: num  28.2 34.1 30.3 33.4 31.5 23.5 32.3 33 22.5 29.9 ...

原贴地址:http://f.dataguru.cn/forum.php?mod=viewthread&tid=453010&page=1#pid1267442

时间: 2024-10-02 21:45:23

R语言数据框行转列实例的相关文章

第二篇:R语言数据可视化之数据塑形技术

前言 绘制统计图形时,半数以上的时间会花在调用绘图命令之前的数据塑型操作上.因为在把数据送进绘图函数前,还得将数据框转换为适当格式才行. 本文将给出使用R语言进行数据塑型的一些基本的技巧,更多技术细节推荐参考<R语言核心手册>. 数据框塑型 1. 创建数据框 - data.frame() # 创建向量p p = c("A", "B", "C") # 创建向量q q = 1:3 # 创建数据框:含p/q两列 dat = data.fra

《美团 R 语言数据运营实战》

美团 R 语言数据运营实战 2018年08月02日 作者: 喻灿 刘强 文章链接 3689字 8分钟阅读 一.引言 近年来,随着分布式数据处理技术的不断革新,Hive.Spark.Kylin.Impala.Presto 等工具不断推陈出新,对大数据集合的计算和存储成为现实,数据仓库/商业分析部门日益成为各类企业和机构的标配.在这种背景下,是否能探索和挖掘数据价值,具备精细化数据运营的能力,就成为判定一个数据团队成功与否的关键. 在数据从后台走向前台的过程中,数据展示是最后一步关键环节.与冰冷的表

R语言数据操作之apply系列

1 ###################R语言中apply类型问题 2 data<-data.frame(x=c(1,2,3,4),y=c(2,3,4,5),z=c(5,6,7,8)) 3 apply(data,2,mean)##apply针对数据框 4 lapply(data,mean)##lapply针对list,当然对dataframe也有效 5 data1<-list(a=1:10,b=exp(-3:3),c=c(FALSE,FALSE,FALSE)) 6 lapply(data1,

R语言数据可视化1—ggplot2画柱状图

目的:将已有的业务表(csv格式),导入到Rstudio中.根据"开始时间",按月份统计出业务量.画出下图.(注:我选择的业务表中只有1.2.3月的数据) 开始吧!!! 1.加载csv格式的数据表,并查看字段名: ##加载数据 khsx <-read.csv("khsx.csv",header = TRUE) names(khsx)##查看列名 2.加载将要使用的包 ##加载包 library(ggplot2) ##画图用的包 library(lubridat

数据行转列实例

在系统开发中常常遇到进行数据的统计,并将数据行转列的情景,例如表中的表示.但是在数据库中呈现出来的数据往往是横行的样式.这就需要一个转换.转换的方式有两种方式.1.利用cross join去进行转换.2.利用case when函数去转换. 数据库查询出的结果: 张三 170 李四 90 王五 180 需要数据行转列后的结果: 张三 李四 王五 170 90 180 需求: DEMO中就是简单的统计学生的总成绩.将统计结果进行行转列显示. 需要的表和数据: T_STUDENTINFO表 CREAT

R语言数据去重

R语言常用的去重命令有unique duplicated unique主要是返回一个把重复元素或行给删除的向量.数据框或数组 > x <- c(3:5, 11:8, 8 + 0:5)> x [1]  3  4  5 11 10  9  8  8  9 10 11 12 13> unique(x)[1]  3  4  5 11 10  9  8 12 13> unique(x, fromLast = TRUE)[1]  3  4  5  8  9 10 11 12 13    

R语言数据可视化之散点图

散点图简介 散点图通常是用来表述两个连续变量之间的关系,图中的每个点表示目标数据集中的每个样本. 同时散点图中常常还会拟合一些直线,以用来表示某些模型. 回到顶部 绘制基本散点图 本例选用如下测试数据集: 绘制方法是首先调用ggplot函数选定数据集,并在aes参数中指明横轴纵轴.然后调用散点图函数geom_point()便可绘制出基本散点图.R语言示例代码如下: 1 2 3 4 # 基函数 ggplot(ah, aes(x = ageYear, y = heightIn)) +   # 散点图

第五篇:R语言数据可视化之散点图

散点图简介 散点图通常是用来表述两个连续变量之间的关系,图中的每个点表示目标数据集中的每个样本. 同时散点图中常常还会拟合一些直线,以用来表示某些模型. 绘制基本散点图 本例选用如下测试数据集: 绘制方法是首先调用ggplot函数选定数据集,并在aes参数中指明横轴纵轴.然后调用散点图函数geom_point()便可绘制出基本散点图.R语言示例代码如下: # 基函数 ggplot(ah, aes(x = ageYear, y = heightIn)) + # 散点图函数 geom_point()

R语言数据合并使用merge数据追加使用rbind和cbind

R语言中的横向数据合并merge及纵向数据合并rbind的使用 我们经常会遇到两个数据框拥有相同的时间或观测值,但这些列却不尽相同.处理的办法就是使用merge(x, y ,by.x = ,by.y = ,all = ) 函数. #合并ID<-c(1,2,3,4)name<-c("A","B","C","D")score<-c(60,70,80,90)student1<-data.frame(ID,na