全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
1039 3
2020-06-03
    求助各位大神,如何利用 tidy 数据的函数,计算各地区“城镇人均搜索量”和“城镇人均生产总值”, 并进一步
图示它们的关系,城镇人均搜索量 = 搜索量/城镇人口数量; 城镇人均生产总值 = 年地区生产总值/
镇人口。文件如图所示, x1代表年搜索量(万条),x5代表年城镇人口(万人),x6代表年地区生产总值(亿元)
1.jpg
工作簿1.xlsx
大小:(10.95 KB)

 马上下载

(文件附件)
CSV文件,已导入。

效果图如下:
2.jpg

请问应该怎么做,我用select函数提取列子集会把2016、2017两年的数据一起提取,无法单独提取某年的数据。按我的理解这道题应该是要把2016年各省份的搜索量分别除以2016年各省份的城镇人口得出各城镇2016年的人均搜索量,2017年同理。城镇人均生产总值同理,这应该怎么做呢?查了很多资料的想不出来,求助各位大神,谢谢。


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2020-6-3 18:53:02
用dplyr中的filter函数,可以把数据分成两个年度的
data2016<-filter(dataset, year==2016)
data2017<-filter(dataset, year==2017)
然后就可以画出不同年度的图。实际上,你并不需要人口数据,因为搜索量和GDP二者的关系,与二者的人均数据之间的关系,是一样的,所以根本不需要计算人均数据。
另外,ggplot2画这个图,不需要长数据,用你原来的宽数据就可以了。所以根本不需要tidy

2016

2017
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2020-6-3 20:59:21
llb_321 发表于 2020-6-3 18:53
用dplyr中的filter函数,可以把数据分成两个年度的
data2016
如果不算人均的话那坐标轴上的数据会和题目要求的不一样吧。题目还要求2年的数据在同一个图上,请问一下用人均的方法来算要怎么算?有没有办法用人均的算法把2年的数据都放在同一个图上。麻烦您了,万分感谢。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2020-6-3 21:26:29
如果是题目要求的话,画图时,x=x1/x5,y=x6/x5就可以计算人均了,你的图是用ggplot2做的,可以用facet把两个图层拼在一张图里,自己查查说明文档吧
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群