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
R语言数据框行转列实例的更多相关文章
- R语言数据框小技巧
当我们想要把数据框的行或者列按照指定的顺序排列时,可以通过行名称或者列名称快速排列 data <- data.frame(matrix(1:9, ncol=3)) rownames(data) ...
- R语言数据框中,用0替代NA缺失值
1.用0替代数据框中的缺失值NA 生成数据框: > m <- matrix(sample(c(NA, :), , replace = TRUE), ) > d <- as.da ...
- 第二篇:R语言数据可视化之数据塑形技术
前言 绘制统计图形时,半数以上的时间会花在调用绘图命令之前的数据塑型操作上.因为在把数据送进绘图函数前,还得将数据框转换为适当格式才行. 本文将给出使用R语言进行数据塑型的一些基本的技巧,更多技术细节 ...
- (数据科学学习手札07)R在数据框操作上方法的总结(初级篇)
上篇我们了解了Python中pandas内封装的关于数据框的常用操作方法,而作为专为数据科学而生的一门语言,R在数据框的操作上则更为丰富精彩,本篇就R处理数据框的常用方法进行总结: 1.数据框的生成 ...
- R语言数据的导入与导出
1.R数据的保存与加载 可通过save()函数保存为.Rdata文件,通过load()函数将数据加载到R中. > a <- 1:10 > save(a,file='d://data/ ...
- R语言 数据重塑
R语言数据重塑 R语言中的数据重塑是关于改变数据被组织成行和列的方式. 大多数时间R语言中的数据处理是通过将输入数据作为数据帧来完成的. 很容易从数据帧的行和列中提取数据,但是在某些情况下,我们需要的 ...
- R语言数据预处理
R语言数据预处理 一.日期时间.字符串的处理 日期 Date: 日期类,年与日 POSIXct: 日期时间类,精确到秒,用数字表示 POSIXlt: 日期时间类,精确到秒,用列表表示 Sys.date ...
- R语言数据接口
R语言数据接口 R语言处理的数据一般从外部导入,因此需要数据接口来读取各种格式化的数据 CSV # 获得data是一个数据帧 data = read.csv("input.csv" ...
- 最棒的7种R语言数据可视化
最棒的7种R语言数据可视化 随着数据量不断增加,抛开可视化技术讲故事是不可能的.数据可视化是一门将数字转化为有用知识的艺术. R语言编程提供一套建立可视化和展现数据的内置函数和库,让你学习这门艺术.在 ...
随机推荐
- log翻硬币
若果有一组硬币,(假定有十个),每一个硬币仅仅有两个面,正面用以表示.反面用零表示. 给定目标(初始状态)1111100000 正正正正正反反反反反 (目标状态) 1000011101 正反反反反 ...
- 使用aidl绑定远程服务
一.服务端 1.清单文件,因为要远程调用,所以要配个action <service android:name="com.example.alipayservice.AliPayServ ...
- C#中对文件的操作
详细介绍参考:http://blog.csdn.net/wangyue4/article/details/4616801 源码举例: public class FileSystemManager { ...
- 多文件上传组件FineUploader使用心得
原文 多文件上传组件FineUploader使用心得 做Web开发的童鞋都知道,需要经常从客户端上传文件到服务端,当然,你可以使用<input type="file"/> ...
- Ember.js - About
Ember.js - About More Productive Out of the Box. Write dramatically less code with Ember's Handleb ...
- 对于面向对象的理解(JAVA)
JAVA 是一门优美的面向对象的语言.那问题就来了什么是对象,这个问题有一个简单的诠释 “万物皆对象”.那么在面向对象编程中对象是类的一个实例,那么什么是类呢?类是一组相似对象的共有特征的抽象.类有什 ...
- 移动端 前端框架 amaze ui
移动端 前端框架 amaze ui http://amazeui.org/?_ver=2.x
- Leetcode:find_minimum_in_rotated_sorted_array
一. 题目 给定一个排好序的数组.数组可能是单调递增,也可能有一个变换. (i.e., 0 1 2 4 5 6 7 might become 4 5 6 7 0 1 2) 要求找出最小的数. ...
- Kendo UI开发教程(22): Kendo MVVM 数据绑定(十一) Value
Value绑定可以把ViewModel的某个属性绑定到DOM元素或某个UI组件的Value属性.当用户修改DOM元素或UI组件的值时,绑定的ViewModel的值也随之发生改名.同样,如果ViewMo ...
- Android Studio显示行数
Android Studio在打开的文件左側单击鼠标右键,也能像Eclipse一样设置显示代码行数,如图1.可是这边跟Eclipse有一个非常大的差别,Eclipse设置后,其余的相应文件也跟着生效, ...