R语言数据分析案例-股票可视化分析

一、数据整合的对象

# Loading necessary libraries
library(readxl)
library(dplyr)# Reading the data from Excel files
data_1 <- read_excel("云南白药.xlsx")
data_2 <- read_excel("冰山.xlsx")

二、数据整合的代码

# Reading the data from Excel files
data_1 <- read_excel("云南白药.xlsx")
data_2 <- read_excel("冰山.xlsx")# Assuming both data sets have the same structure
# Combine the two datasets vertically
combined_data <- bind_rows(data_1, data_2)

由于数据特征名称不同,要处理:

# View the combined data
head(combined_data)# 检查原始数据集中是否有NA值
sum(is.na(data_1))
sum(is.na(data_2))# 检查列名以确保它们在两个数据集中是一致的
colnames(data_1)
colnames(data_2)# 调整data_2的列名以匹配data_1
colnames(data_2) <- colnames(data_1)# 重新合并数据
combined_data <- bind_rows(data_1, data_2)# 再次检查列名
colnames(combined_data)

任务二:统计分析

一、统计分析的代码

# 重新进行描述性统计分析
print("描述性统计分析 - 云南白药")
summary(combined_data[combined_data$"证券简称" == "云南白药", ])print("描述性统计分析 - 冰山冷热")
summary(combined_data[combined_data$"证券简称" == "冰山冷热", ])

二、代码运行的结果及统计结论的分析

日期:数据涵盖的时间范围是从2023-02-07到2023-07-07。

证券代码:证券代码始终为538,这表明分析的数据集仅针对一支股票。

前收、开盘、最高、最低、今收:

这些股价相关的变量都有类似的统计范围,价格从50元左右到近60元。

中位数和均值非常接近,这表明数据的分布相对对称,没有严重的偏斜。

最高价和最低价的范围表明该股票在观察期间的波动范围。

涨跌幅(%):

涨跌幅变化范围从-5.28%到7.52%,这显示了股票在观察期间的波动性。

中位数接近0(0.04%),意味着相对于前一交易日的收盘价,该股票的收盘价在中位数日期是几乎没有变化的。

均值接近0,这暗示在所考察的时间段内,股票价格的上涨和下跌大致抵消。

成交量(万股):

成交量的最小值为203.1万股,最大值为2963.8万股,显示出交易量的显著波动。

交易量的中位数572.3万股和均值637.3万股相比较高的最大值,表明有一些交易日的成交量非常高。

成交金额(万元):

成交金额的范围从10547万元到169013万元,与成交量的波动类似,表明有些交易日成交金额非常大。

市盈率:市盈率从30.32到37.03变动,这反映了该股票价格相对于每股收益的比率在观察期内的变化。

日期:数据覆盖的时间范围与之前的“云南白药”相同,从2023-02-07到2023-07-07。

证券代码:证券代码始终为530,这表明分析的数据集仅针对一支股票。

前收、开盘、最高、最低、今收:股价变量的范围大致在4.35元到5.78元之间,这与“云南白药”的股价范围相比较低,显示了它是一个较低价位的股票。

中位数和均值非常接近,表明数据分布相对均衡,没有显著偏斜。

股价的最大值和最小值之间的差异不大,这可能表明股票在该时间段内的价格波动较小。

涨跌幅(%):涨跌幅的范围从-3.36%到4.78%,与“云南白药”相比,这个股票的价格波动性稍低。中位数为0%,均值为0.1147%,这表明在所考察的时间段内,股票价格的上涨和下跌大致平衡。

成交量:成交量从482.4万股到9138.9万股不等,显示了交易量的显著波动。成交量的中位数和均值较低,可能表明在某些交易日,股票的交易活跃度不高。

成交金额:成交金额的范围从995.2万元到50741.5万元,与成交量的波动相似,表明有些交易日的活跃度特别高。

市盈率:市盈率从0到261.6变动,这是一个非常宽的范围,可能反映了投资者对于公司盈利能力预期的显著变化,或者是由于特定时期盈利数据的变化导致的市盈率计算出现极端值。

任务三:数据可视化

一、时间序列图

(1)作时间序列图的代码

# 加载所需的库
# 设置图形布局为1行2列
par(mfrow = c(2, 1))
# 云南白药的时间序列图
plot(data_1$'日期', data_1$'今收', type = "l", col = "blue", xlab = "日期", ylab = "今收价格", main = "云南白药的时间序列图")
# 冰山冷热的时间序列图
plot(data_2$'日期', data_2$'今收', type = "l", col = "red", xlab = "日期", ylab = "今收价格", main = "冰山的时间序列图")

(2)生成的时间序列图

(3)基于时间序列图进行的分析

云南白药的时间序列图分析:

价格波动:云南白药的股票价格在2月到4月期间相对稳定,在此之后价格出现了下降趋势。5月份之后,股价波动加大,显示出更多的上下波动。

下降趋势:从图中可以看出,尽管有波动,但整体趋势是向下的,特别是在5月到7月期间,股价有明显的下降。

冰山冷热的时间序列图分析:

价格波动:与云南白药相比,冰山冷热的股价波动较小,整体趋势是上升的。

上升趋势:2月到7月期间,冰山冷热的股价显示出一种持续上升的趋势,特别是在4月到7月期间,股价持续攀升。

对比分析:

股价水平:云南白药的股价明显高于冰山冷热,这可能反映了两家公司市值和投资者对其业绩预期的不同。股价趋势:在给定期间内,云南白药和冰山冷热的股价趋势完全不同,云南白药呈现下跌趋势,而冰山冷热则呈现上升趋势。投资者情绪:云南白药的下降趋势可能反映了投资者对该公司前景的悲观情绪,而冰山冷热的上升趋势可能表明投资者对该公司的乐

观看法。

二、直方图

(1)作直方图的代码

# 设置图形布局为1行2列
par(mfrow = c(1, 2))
# 云南白药的直方图
hist(data_1$'今收', col = "blue", xlab = "今收价格", ylab = "频率", main = "云南白药的直方图", breaks = 30)
# 冰山冷热的直方图
hist(data_2$'今收', col = "red", xlab = "今收价格", ylab = "频率", main = "冰山的直方图", breaks = 30)

(2)生成的直方图

(3)基于直方图进行的分析

云南白药直方图分析:

价格分布集中在54到56元之间,这表明大部分交易日的收盘价落在这个区间。

价格分布较为紧凑,显示出相对较小的波动范围。

存在一个明显的峰值区间,表明某一价格区间的频率特别高。

冰山冷热直方图分析:

价格分布集中在4.9到5.1元之间,这表明大部分交易日的收盘价落在这个较狭窄的区间。

相比于云南白药,冰山冷热的价格分布看起来更为分散,这可能意味着其价格波动性较大。

直方图显示了几个较高的峰值,这可能表明某些价格区间的频率特别高,而其他区间较低,显示出价格分布的不均匀性。

对比分析:

两支股票的价格分布范围不同,云南白药的价格区间更高,这与公司的市值和股票的定价有关。云南白药的价格分布相对集中,显示出价格较为稳定;而冰山冷热的价格分布则更为分散,显示出价格波动性较大。

三、饼图

(1)作饼图的代码

par(mfrow = c(1, 2))
# 为深圳华强的“今收”价格创建分类
breaks_huaqiang <- seq(min(data_huaqiang$'今收'), max(data_huaqiang$'今收'), length.out = 5)  
data_huaqiang$price_category <- cut(data_huaqiang$'今收', breaks_huaqiang, include.lowest = TRUE)
# 计算每个分类的频率
price_counts_huaqiang <- table(data_huaqiang$price_category)
# 绘制饼图
pie(price_counts_huaqiang, col = rainbow(length(price_counts_huaqiang)), main = "深圳华强价格区间的饼图")
# 添加图例
legend("topright", legend = names(price_counts_huaqiang), fill = rainbow(length(price_counts_huaqiang)))# 为平安银行的“今收”价格创建分类
breaks_pingan <- seq(min(data_pingan$'今收'), max(data_pingan$'今收'), length.out = 5)  
data_pingan$price_category <- cut(data_pingan$'今收', breaks_pingan, include.lowest = TRUE)
# 计算每个分类的频率
price_counts_pingan <- table(data_pingan$price_category)
# 绘制饼图
pie(price_counts_pingan, col = rainbow(length(price_counts_pingan)), main = "平安银行价格区间的饼图")
# 添加图例
legend("topright", legend = names(price_counts_pingan), fill = rainbow(length(price_counts_pingan)))

(3)基于饼图进行的分析

从云南白药的饼图可以观察到:

价格区间分为四个部分,每个部分代表一个特定的价格范围。最大的部分是价格区间(5.07, 5.36],这意味着大多数的“今收”价格落在这个区间。其他三个区间的占比较小,这表明“今收”价格较少地落在这些范围内。

从冰山冷热的饼图可以观察到:

价格区间同样分为四个部分,每部分对应不同的价格范围。最大的部分似乎是价格区间(4.77, 5.07],表明这个价格区间的频率最高。其他区间的分布较为均匀,但(4.48, 4.77]区间占据了较大的一部分,表明该价格区间内的“今收”价格出现的次数也相对较多。

对比分析:

对于云南白药,高频价格区间集中在(5.07, 5.36],而对于冰山冷热,高频价格区间则集中在(4.77, 5.07]。这两张饼图显示,尽管两家公司的股票价格绝对值不同,但它们都有一个主要的价格区间,其中股票价格出现的频率最高。另外,这些饼图也体现了两个股票价格分布的不同特性,云南白药的价格分布集中在一个较高的区间,而冰山冷热的价格则在一个较低的区间较为分散。

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

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

相关文章

OBS插件--音频采集

音频采集 音频采集是一款 源 插件,类似于OBS的win-capture/game-capture&#xff0c;允许从特定应用程序捕获音频&#xff0c;而不是捕获整个系统的音频。避免了因为特定音频的采集而需要引入第三方软件&#xff0c;而且时延也非常低。 下面截图演示下操作步骤&#xff1a; 首…

【顺序程序设计-谭浩强适配】(适合专升本、考研)

无偿分享学习资料&#xff0c;需要的小伙伴评论区或私信dd。。。 无偿分享学习资料&#xff0c;需要的小伙伴评论区或私信dd。。。 无偿分享学习资料&#xff0c;需要的小伙伴评论区或私信dd。。。 完整资料如下&#xff1a;纯干货、纯干货、纯干货&#xff01;&#xff01;…

WEB后端复习——监听器、过滤器

Listener监听器 是Servlet规范中定义的一种特殊类&#xff0c;它用于监听web应用程序中的ServletContext, HttpSession和ServletRequest等域对象的创建与销毁事件&#xff0c;以及监听这些域对象中的属性发生修改的事件。 注解WebListener 1.ServletContextListener 监听Serv…

U盘文件遇损?拯救“文件或目录损坏且无法读取”的秘籍!

在数字化时代&#xff0c;U盘已成为我们日常生活与工作中不可或缺的数据存储和传输工具。然而&#xff0c;有时我们可能会遇到一个非常令人沮丧的问题——U盘中的文件或目录突然损坏且无法读取。这种突发状况往往让人措手不及&#xff0c;甚至可能引发数据丢失的严重后果。那么…

打印图案(金字塔)头歌作业

题目: 任务描述 本关任务&#xff1a;编写一个程序&#xff0c;输出堆叠式的金字塔图案。 输入n个字符&#xff0c;按以下原则输出&#xff1a;【参考样例】 1)第1个字符为一层金字塔图案&#xff0c;第2个字符为两层金字塔图案&#xff0c;第3个字符为三层金字塔图案&#x…

相同的树——java

给你两棵二叉树的根节点 p 和 q &#xff0c;编写一个函数来检验这两棵树是否相同。 如果两个树在结构上相同&#xff0c;并且节点具有相同的值&#xff0c;则认为它们是相同的。 示例 1&#xff1a; 输入&#xff1a;p [1,2,3], q [1,2,3] 输出&#xff1a;true示例 2&…

[华为OD] B卷 树状结构查询 200

题目&#xff1a; 通常使用多行的节点、父节点表示一棵树&#xff0c;比如 西安 陕西 陕西 中国 江西 中国 中国 亚洲 泰国 亚洲 输入一个节点之后&#xff0c;请打印出来树中他的所有下层节点 输入描述 第一行输入行数&#xff0c;下面是多行数据&#xff0c;每行以空…

C++青少年简明教程:基础知识

C青少年简明教程&#xff1a;基础知识 电脑程序设计&#xff08;Computer programming&#xff09;&#xff0c;或称程序设计&#xff08;programming&#xff09;&#xff0c;是给出解决特定问题程序的过程&#xff0c;程序设计往往以某种程序设计语言为工具&#xff0c;给出这…

关于一致性,你该知道的事儿(上)

关于一致性&#xff0c;你该知道的事儿&#xff08;上&#xff09; 前言一、缓存一致性二、内存模型一致性三、事务一致性四、分布式事务一致性4.1 分布式系统的一些挑战4.2 关于副本的一些概念4.3 分布式事务之共识问题4. 3.1 PC(two-phase commit, 2PC)4.3.2 Raft 三、后记参…

公有云Linux模拟TCP三次挥手与四次握手(Wireshark抓包验证版)

目录 写在前面环境准备实验步骤1. 安装nc工具2. 使用nc打开一个连接2.1 公有云-安全组放行对应端口&#xff08;可选&#xff09; 3. 打开Wireshark抓包工具4. 新开终端&#xff0c;进行连接5. 查看抓包文件&#xff0c;验证TCP三次握手与四次挥手TCP三次握手数据传输TCP四次挥…

Netty源码分析二NioEventLoop 剖析

剖析方向 NioEventLoop是一个重量级的类&#xff0c;其中涉及到的方法都有很复杂的继承关系&#xff0c;调用链&#xff0c;要想把源码全部过一遍工作量实在是太大了&#xff0c;于是小编就基于下面的这些常见的问题来对NioEventLoop的源码来进行剖析 1.Seletor何时创建 1.1Se…

【408真题】2009-08

“接”是针对题目进行必要的分析&#xff0c;比较简略&#xff1b; “化”是对题目中所涉及到的知识点进行详细解释&#xff1b; “发”是对此题型的解题套路总结&#xff0c;并结合历年真题或者典型例题进行运用。 涉及到的知识全部来源于王道各科教材&#xff08;2025版&…

TMS320F280049 CLB模块--LUT4 OUTLUT(4)

LUT4 示意图如下&#xff1a; OUTLUT 示意图如下&#xff1a; 寄存器 参考文档&#xff1a; TMS320F28004x Real-Time Microcontrollers Technical Reference Manual (Rev. G)

【数据结构】图的应用---最小生成树(Prim,Kruskal)、最短路径(BFS,Dijkstra,Floyd)、拓扑排序、关键路径、有向无环图表达式

文章目录 5.图的应用5.1 最小生成树5.1.1 Prim算法5.1.2 Kruskal算法5.1.3 最小生成树代码A.邻接矩阵B.邻接表 5.2 最短路径5.2.1 BFS5.2.2 Dijkstra5.2.3 Floyd5.2.4 三种算法的比较 5.3 有向无环图描述表达式5.4 拓扑排序5.5 关键路径 5.图的应用 5.1 最小生成树 定义 对一个…

模型推导:BG/NBD(预测用户生命周期(CLV)模型)

CLV&#xff08;Customer Lifetime Value&#xff09;指的是客户生命周期价值&#xff0c;用以衡量客户在一段时间内对企业有多大的价值。企业对每个用户的流失与否、在未来时间是否会再次购买&#xff0c;还会再购买多少次才会流失等问题感兴趣&#xff0c;本文中的BG/NBD模型…

Linux|进程控制

进程创建 fork函数初识 在linux中fork函数时非常重要的函数&#xff0c;它从已存在进程中创建一个新进程。新进程为子进程&#xff0c;而原进程为父进程。 返回值&#xff1a;子进程中返回0&#xff0c;父进程返回子进程id&#xff0c;出错返回-1 进程调用fork&#xff0c;当…

AVL 树的理解和简单实现

目录 1. AVL 树 1.1. AVL 树的概念 1.2. AVL 树的性质 2. AVL 树的框架如下 2. AVL树的 插入 2.1. 平衡因子的更新 2.2.1. 平衡因子更新的第一种情况 2.2.2. 平衡因子更新的第二种情况 2.2.3. 平衡因子更新的第三种情况 2.2.4. 平衡因子更新的代码框架如下 2.2. AV…

《C++学习笔记---初阶篇6》---string类 上

目录 1. 为什么要学习string类 1.1 C语言中的字符串 2. 标准库中的string类 2.1 string类(了解) 2.2 string类的常用接口说明 2.2.1. string类对象的常见构造 2.2.2. string类对象的容量操作 2.2.3.再次探讨reserve与resize 2.2.4.string类对象的访问及遍历操作 2.2.5…

5KVA电力高频逆变器DU5000HD不间断电源DU3000HD

UPS电力高频逆变器DU3000HD不间断电源模块DU5000HD&#xff0c;单机版2KVA逆变电源DU2000HD&#xff0c;并机版2KVA逆变器DU2000H&#xff0c;3KVA逆变装置DU3000H&#xff0c;DU5000H&#xff0c;IV2000HD-2&#xff0c;IV3000HD-2&#xff0c;IV5000HD-2&#xff0c;IV2000H-…

基于51单片机音乐倒计时倒数计数器设计( proteus仿真+程序+设计报告+原理图+讲解视频)

基于51单片机音乐倒计时设计( proteus仿真程序设计报告原理图讲解视频&#xff09; 仿真图proteus7.8及以上 程序编译器&#xff1a;keil 4/keil 5 编程语言&#xff1a;C语言 设计编号&#xff1a;S0090 1. 主要功能&#xff1a; 基于51单片机的音乐倒计时器设计 设计内…