R语言分析任务:

news2024/11/16 21:45:53

有需要实验报告的可CSDN 主页个人私信

《大数据统计分析软件(R语言)》

实  验  报  告

指导教师:         

专    业:         

班    级:                   

姓    名:                    

学    号:                    

完成时间:                    

实验目的

掌握数据读入的各类函数;简单的数据处理:新变量的生成,数据集筛选排序,数据集合并。

掌握dplyr包中的主要函数。

掌握绘图的主要函数。

掌握数据整理、描述性统计分析、回归等,较为完整的数据分析过程。

实验内容

读入数据集:“(1)2002-2022年网民数量.csv”

  1. 计算半年度网民数量增长率;
# 引入所需的库

library(readr)

library(dplyr)

library(lubridate)



# 读取数据

# data <- read_csv("(1)2002-2022年网民数量.csv")

data <- read_csv("(1)2002-2022年网民数量.csv", locale = locale(encoding = "GB2312"))



# 使用head函数查看数据前10行

head(data, 10)



# 重命名列名

data <- data %>%

  rename(

    时间 = 时间,

    网民数量 = `网民数量(万人)`,

    互联网普及率 = `互联网普及率`

  )



# 将时间转换为日期

data$时间 <- dmy(paste0("01-", data$时间), tz = "UTC")



# 将互联网普及率转换为数值类型

data$互联网普及率 <- as.numeric(gsub("%", "", data$互联网普及率)) / 100



# 计算半年度网民数量增长率

data <- data %>%

  arrange(时间) %>%

  mutate(增长率 = (网民数量 - lag(网民数量)) / lag(网民数量))

# 使用head函数查看数据前10行

head(data, 10)

  1. 根据网民数量、网民数量增长率绘制双轴图,网民数量用柱状图表示,网民数量增长率用折线图表示;

       双轴图如图1所示:

图1双轴图

       代码如下:

# 将增长率列转换为数值类型
data$增长率 <- as.numeric(data$增长率)

# 移除第一个NA值
data <- data[-1, ]

# 绘制图表
# 输出增长率的数值
print(data$增长率)

ggplot(data, aes(x = 时间)) +
  geom_col(aes(y = 网民数量), fill = "blue") +
  geom_line(aes(y = 增长率 * 100000, color = "增长率"), size = 1) +  # 增大增长率的显示范围
  scale_y_continuous(name = "网民数量(万人)", sec.axis = sec_axis(~./100000, name = "增长率 (%)")) +
  theme_minimal() +
  labs(color = "指标")

  1. 根据图形说明我国网民规模的变化趋势与特征。

     从图形可以看出,我国网民数量呈现出明显的增长趋势。从2002年到2022年底,网民数量从约4580万人增长到约106744万人,增长了近23倍。这表明互联网的普及程度不断提高,越来越多的人开始使用互联网。

增长率特征:增长率是描述网民数量增长速度的指标。从图形中可以看出,增长率在不同时间段内有所波动。初期增长率较高,随着网民数量的增加,增长率逐渐趋于平缓。可以观察到,在2002年到2007年初期,增长率呈现出较大的波动,而在2014年后增长率相对较稳定。

     互联网普及率变化:互联网普及率是衡量互联网在整个人口中普及程度的指标。根据数据,互联网普及率从2002年的0.036增长到2022年底的0.756。这显示了互联网的普及程度不断提高,越来越多的人开始接触和使用互联网。

     综上所述,通过观察图形,我们可以看到我国网民规模的变化趋势是逐年增长,并且增长率逐渐稳定。互联网普及率也在不断提高,显示出我国互联网发展的活跃态势。


读入数据集:“(2)2007-2022年接入方式.csv”
与“(1)2002-2022年网民数量.csv”进行合并
代码如下:

# 读取数据集
data1 <- read.csv("(1)2002-2022年网民数量.csv")
data2 <- read.csv("(2)2007-2022年接入方式.csv")
# 合并数据集
merged_data <- merge(data1, data2, by = "时间")
head(merged_data, 10)
# 保存合并后的数据集为CSV文件
write.csv(merged_data, "合并后数据.csv", row.names = FALSE)

前十个数据结果显示如图2所示:

图2合并后前十条数据

  1. 计算出手机上网比例、电视网民数、台式电脑网民数、笔记本电脑网民数、平板电脑网民数(不同接入方式人数有重合,总数会大于真实网民数量)

代码如下:

# 读取合并后的数据集
merged_data <- read.csv("合并后数据.csv")
# 计算手机上网比例
merged_data$手机上网比例 <- as.numeric(gsub("%", "", merged_data$手机网民数量.万人.)) / merged_data$网民数量.万人. * 100
# 将因子列转换为数值型
merged_data$电视网民数 <- as.numeric(gsub("%", "", merged_data$电视上网比例))
merged_data$台式电脑网民数 <- as.numeric(gsub("%", "", merged_data$台式电脑上网比例))
merged_data$笔记本电脑网民数 <- as.numeric(gsub("%", "", merged_data$笔记本电脑上网比例))
merged_data$平板电脑网民数 <- as.numeric(gsub("%", "", merged_data$平板电脑上网比例))
# 打印计算结果
print(merged_data[, c("时间", "手机上网比例", "电视网民数", "台式电脑网民数", "笔记本电脑网民数", "平板电脑网民数")])

数据展示前十条,如图3所示:

图3合并后前十条数据

  1. 根据数据绘制各种接入方式比例的折线图,并比较说明每种接入方式的变化趋势与特征。

       各种接入方式变化的折线图如图4所示;

图4 接入方式折线图

     在整体趋势上,电视上网比例呈现下降趋势,从高达94.00%逐渐下降至约31.10%左右。从7-Dec到8-Dec有较大幅度的下降,之后逐渐下降至最低点,之后保持相对稳定。

     台式电脑上网比例呈现下降趋势,从26.70%逐渐下降至约29.80%左右。从7-Dec到8-Dec有轻微上升,之后逐渐下降至最低点,之后保持相对稳定。

     笔记本电脑上网比例呈现下降趋势,从26.70%逐渐下降至约28.30%左右。从7-Dec到8-Dec有较大幅度的上升,之后逐渐下降至最低点,之后保持相对稳定。

     平板电脑上网比例呈现下降趋势,从34.80%逐渐下降至约27.50%左右。从14-Dec到15-Dec有轻微的上升,之后逐渐下降至最低点,之后保持相对稳定。

     各种接入方式的变化趋势都呈现下降的特征,其中电视上网比例下降幅度最大,而台式电脑、笔记本电脑和平板电脑的下降趋势相对较缓。这可能反映了手机和移动设备的普及,以及人们更多地倾向于使用便携式设备进行上网。

    1. 读入数据集:“(3)2008-2022年网民结构.csv”
      与“(1)2002-2022年网民数量.csv”进行合并;
      代码:
      
      # 读取数据集
      data1 <- read.csv("(3)2008-2022年网民结构.csv", header = TRUE, stringsAsFactors = FALSE)
      data2 <- read.csv("(1)2002-2022年网民数量.csv", header = TRUE, stringsAsFactors = FALSE)
      
      # 合并数据集
      merged_data <- merge(data1, data2, by = "时间")
      
      # 修改列名
      colnames(merged_data)[colnames(merged_data) == "X10岁以下"] <- "10岁以下"
      colnames(merged_data)[colnames(merged_data) == "X10.19岁"] <- "10-19岁"
      colnames(merged_data)[colnames(merged_data) == "X20.29岁"] <- "20-29岁"
      colnames(merged_data)[colnames(merged_data) == "X30.39岁"] <- "30-39岁"
      colnames(merged_data)[colnames(merged_data) == "X40.49岁"] <- "40-49岁"
      colnames(merged_data)[colnames(merged_data) == "X50.59岁"] <- "50-59岁"
      colnames(merged_data)[colnames(merged_data) == "X60岁及以上"] <- "60岁及以上"
      colnames(merged_data)[colnames(merged_data) == "小学及以下"] <- "小学及以下"
      
      # 显示前10条数据
      head(merged_data, 10)
      
      # 将合并后的数据保存到CSV文件
      write.csv(merged_data, file = "合并后的数据.csv", row.names = FALSE)

运行结果如图5所示:

图5 合并后数据前10条

  1. 编写函数计算出城镇网民数量、农村网民数量、男性网民数量、女性网民数量、各年龄层网民数量、各学历网民数量(可以编写函数通过apply族函数进行批量处理,也可以直接编写循环函数直接一次性得到所有结果);

 

......

运行结果如图6所示:

图6 程序运行界面

  1. 进一步计算网民性别比(以女性网民为100,男性对女性的比例)、城乡比(以农村网民为100,城镇对农村的比例)、年龄比(以19岁以下网民为100,其他年龄层对19岁以下的比例)、学历比(以初中及以下网民为100,其他学历对初中及以下的比例);

       代码如下:

......

......

......

......

......

......

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1429213.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Multisim14.0仿真(四十三)LM311应用

一、LM311简介&#xff1a; lm311是一款高灵活性的电压比较器&#xff0c;能工作于5V-30V单个电源或正负15V分离电源。 二、LM311主要特性&#xff1a; ★ 快速响应时间&#xff1a;165 ns。 ★ 选通能力。 ★ 最大输入偏置电流&#xff1a;300nA。 ★ 最大输入偏置电流&#…

8868体育助力意甲尤文图斯俱乐部 帮助球队签订新合同

意甲的尤文图斯俱乐部是8868合作体育球队之一&#xff0c;根据意大利媒体的消息&#xff0c;尤文图斯已经决定和费德里科-基耶萨续约&#xff0c;这名球员已经开始思考他的将来了。 费德里科-基耶萨今年26岁&#xff0c;他和尤文图斯的合约到2025年6月30号就结束了。他知道很多…

大数据分析|设计大数据分析的三个阶段

文献来源&#xff1a;Saggi M K, Jain S. A survey towards an integration of big data analytics to big insights for value-creation[J]. Information Processing & Management, 2018, 54(5): 758-790. 下载链接&#xff1a;链接&#xff1a;https://pan.baidu.com/s/1…

flask基于django大数据的证券股票分析系统python可视化大屏

证券分析系统采用B/S架构&#xff0c;数据库是MySQL。网站的搭建与开发采用了先进的Python进行编写&#xff0c;使用了Django框架。该系统从两个对象&#xff1a;由管理员和用户来对系统进行设计构建。主要功能包括&#xff1a;个人信息修改&#xff0c;对股票信息、股票买入、…

[Linux 进程(六)] 写时拷贝 - 进程终止

文章目录 1、写时拷贝2、进程终止2.1 进程退出场景2.1.1 退出码2.1.2 错误码错误码 vs 退出码2.1.3 代码异常终止引入 2.2 进程常见退出方法2.2.1 exit函数2.2.2 _exit函数 本片我们主要来讲进程控制&#xff0c;讲之前我们先把写时拷贝理清&#xff0c;然后再开始讲进程控制。…

从源代码看Chrome 版本号

一直以来都是用Chrome 浏览器&#xff0c;但是看到Chrome 点分4 组数据的表达方式&#xff0c;总是感觉怪怪的&#xff0c;遂深入源代码了解她的版本号具体表示的内容 chrome 浏览器中显示的版本号 源代码中的版本号标识 版本号文件位于 chrome/VERSION &#xff0c; 看到源代…

Docker上安装配置tomcat

目录 1. 拉取镜像 2. 创建运行镜像 3. 查看是否创建成功 ps&#xff1a;如果出现404错误 tomcat目录结构 1. 拉取镜像 这里使用 tomcat:8.5.40 版本作为安装 docker pull tomcat:8.5.40 2. 创建运行镜像 docker run -d --name tomcat -p 8080:8080 \--privilegedtrue …

2024最新版Sublime Text 4安装使用指南

2024最新版Sublime Text 4安装使用指南 Installation and Usage Guide to the Latest Sublime Text 4 in 2024 By JacksonML 0. Sublime Text是什么&#xff1f; Sublime Text 由自定义组件构建&#xff0c;支持Python, Java, C/C等多种编程语言&#xff0c;并为用户提供无与…

记一次 Android CPU高使用率排查

文章目录 背景排查高占用的进程adb shelltoptop -b -H -n 1 | grep 29337 (打印各线程 cpu使用详情)kill -3 29337 (生成trace文件)adb pull /data/anr /Users/gerry.liang/Desktop定位问题 补充说明: 背景 测试同学反馈我们的App CPU使用率 90% 居高不下,经过一番艰难的排查后…

flutter如何实现省市区选择器

前言 当我们需要用户填写地址时&#xff0c;稳妥的做法是让用户通过“滚轮”来滑动选择省份&#xff0c;市&#xff0c;区&#xff0c;此文采用flutter的第三方库来实现这一功能&#xff0c;比调用高德地图api简单一些。 流程 选择库 这里我选择了一个最近更新且支持中国的…

本体匹配方法概述

目录 前言1 基于术语匹配的方法1.1 字符串匹配1.2 语言方法 2 基于虚拟文档的方法3 基于结构的匹配方法3.1 结构信息利用3.2 Anchor-prompt方法 4 大型本体匹配4.1 本体划分4.2 匹配分块4.3 实体间映射 结语 前言 本文将深入探讨本体匹配的不同方法&#xff0c;从基于术语匹配…

Python||五城P.M.2.5数据分析与可视化_使用华夫图分析各个城市的情况(上)

目录 五城P.M.2.5数据分析与可视化——北京市、上海市、广州市、沈阳市、成都市&#xff0c;使用华夫图分析各个城市的情况 1.北京市的空气质量 2.广州市的空气质量 【上海市和成都市空气质量情况详见下期】 五城P.M.2.5数据分析与可视化——北京市、上海市、广州市、沈阳市、成…

108.乐理基础-五线谱-五线谱的拍号、音符与写法

内容参考于&#xff1a;三分钟音乐社 上一个内容&#xff1a;十五度记号-CSDN博客 上一个内容联系的答案&#xff1a; 调号、拍号、速度的性质与内涵跟简谱里一样&#xff0c;所以这里只会写它们在五线谱里造型上有什么改变&#xff0c;该怎样去识别。 拍号&#xff1a;五线…

深度学习入门笔记(七)卷积神经网络CNN

我们先来总结一下人类识别物体的方法: 定位。这一步对于人眼来说是一个很自然的过程,因为当你去识别图标的时候,你就已经把你的目光放在了图标上。虽然这个行为不是很难,但是很重要。看线条。有没有文字,形状是方的圆的,还是长的短的等等。看细节。纹理、颜色、方向等。卷…

聚观早报 | 360 AI搜索App上线;岚图汽车与京东达成合作

聚观早报每日整理最值得关注的行业重点事件&#xff0c;帮助大家及时了解最新行业动态&#xff0c;每日读报&#xff0c;就读聚观365资讯简报。 整理丨Cutie 1月30日消息 360 AI搜索App上线 岚图汽车与京东达成合作 三星电子在硅谷新设实验室 小米平板7系列参数曝光 Spa…

【文本到上下文 #8】NLP中的变形金刚:解码游戏规则改变者

一、说明 欢迎来到我们对不断发展的自然语言处理 &#xff08;NLP&#xff09; 领域的探索的第 8 章。在本期中&#xff0c;我们将重点介绍一项重塑 NLP 格局的突破性创新&#xff1a;Transformers。在我们之前对 seq2seq 模型、编码器-解码器框架和注意力机制的讨论之后&#…

OpenCV+ moviepy + tkinter 视频车道线智能识别项目源码

项目完整源代码&#xff0c;使用 OpenCV 的Hough 直线检测算法&#xff0c;提取出道路车道线并绘制出来。通过tkinter 提供GUI界面展示效果。 1、导入相关模块 import matplotlib.pyplot as plt import numpy as np import cv2 import os import matplotlib.image as mpimg …

第三篇:跨平台QT开发-元对象系统

元对象系统 元对象系统是一个基于 标准 C的扩展 &#xff0c;为 Qt 提供了信号与槽机制、实时类型信息,动态属性系统 元对象系统的三个基本条件&#xff1a;类必须继承自 QObject、类声明 Q_OBJECT 宏&#xff08;默认私有 有&#xff09;、元对象编译器 moc。 class ExamDia…

Golang `crypto/hmac` 实战指南:代码示例与最佳实践

Golang crypto/hmac 实战指南&#xff1a;代码示例与最佳实践 引言HMAC 的基础知识1. HMAC 的工作原理2. HMAC 的应用场景 Golang crypto/hmac 库概览1. 导入和基本用法2. HMAC 的生成和验证3. crypto/hmac 的特性 实战代码示例示例 1: 基本的 HMAC 生成示例 2: 验证消息完整性…

[.NET] 查询当前已安装所有 Win32 与 UWP 应用

为了获取当前设备用户已安装的所有应用程序, 一般来讲有两种方案. 一种是通过查询 “shell:AppsFolder” 目录下所有项, 一种是从开始菜单中获取所有快捷方式, 然后加上查询所有已安装的 UWP 应用, 最后得到总列表. 如需代码参考, 请看 github.com/SlimeNull/WindowsAppsQuery …