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语言编程提供一套建立可视化和展现数据的内置函数和库,让你学习这门艺术.在 ...
随机推荐
- 高斯拉普拉斯算子(Laplace of Gaussian)
高斯拉普拉斯(Laplace of Gaussian) kezunhai@gmail.com http://blog.csdn.net/kezunhai Laplace算子作为一种优秀的边缘检测算子, ...
- hdu3999The order of a Tree (二叉平衡树(AVL))
Problem Description As we know,the shape of a binary search tree is greatly related to the order of ...
- 调用ShellExecute所须要头文件
调用ShellExecute所须要头文件 #include "windows.h " #include "shellapi.h "
- webform中几个常用的控件
一,简单控件 1,Lable——标签:在网页中呈现出来的时候会变成span标签 属性:Text——标签上的文字 BackColor,ForeColor——背景色,前景色 Font——字体 Bold- ...
- Android之一个简单计算器源代码
通过Android4.0 网格布局GridLayout来实现一个简单的计算器界面布局 源码如下(欢迎大家指导 批评 ) package com.android.xiong.gridlayoutTe ...
- cocos2d-x游戏开发系列教程-坦克大战游戏加载地图的编写
上节课写了关卡选择场景,那么接下来写关卡内容,先写最基本的地图的加载 我们新建一个场景类,如下所示: class CityScene : public cocos2d::CCLayer { publi ...
- 基于visual Studio2013解决C语言竞赛题之1092链表转换
题目 解决代码及点评 /************************************************************************/ /* ...
- Linux - VIM(VI)编辑器
VIM(VI)编辑器 简介: VI是一个命令行界面下的文本编辑工具,最早在1976年BILL Joy开发,当时的名字叫做ex.VI支持绝大多数操作系统(最早在BSD上发布),并且功能已经十分强大. 1 ...
- POJ3678【错误总会让自己有收获的】
首先我是的确确定了LRJ那个代码也是判断一个点的两种状态是否在一个连通分量内. 关于自己做的,自己又确定了一些,让自己那样先,比如说对于 3 6 1 AND这样3 6都已经确定的点,自己用 ...
- POJ 3321 Apple Tree DFS序+fenwick
题目大意:有一颗长满苹果的苹果树,有两个操作. 1.询问以一个点为根的子树中有多少个苹果. 2.看看一个点有没有苹果,假设没有苹果.那么那里就立即长出一个苹果(= =!):否则就把那个苹果摘下来. 思 ...