• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

R语言数据框行转列实例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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

方法:

# 原始数据框
> 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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
PLA算法详解及实现(R语言)发布时间:2022-07-18
下一篇:
R语言数据类型发布时间:2022-07-18
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap