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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Android的NDK开发中Cmake报缺少对应的x86的so文件

需要实现一个串口操作的命令。 供应商提供了2个so文件。 分别是 armeabi-v7a 和 arm64-v8a 添加到对应的cpp下。 在CMakeLists.txt里添加so文件 # 添加预编译的库 add_library(libxxx SHARED IMPORTED)# 设置库的路径 set_target_properties(libxxx PROPERTIES IMPORTED_…

重写muduo之TcpConnection

目录 1、 TcpConnection.h 2、 TcpConnection.cc 1、 TcpConnection.h TcpConnection底层绑定&#xff08;管理&#xff09;了一个Channel&#xff0c;Channel有事件被Poller通知后&#xff0c;会调用相应的回调&#xff0c;这些回调也是TcpConnection中包含的方法&#xff0c…

牛客Java面试题【面试】

牛客Java面试题【面试】 前言推荐牛客Java面试题【面试】第2章 Java笔面试高频考点&解题技巧1. Java基础[2.1 一、java-基础-1](https://www.nowcoder.com/study/live/689/2/1)1.1 为什么Java代码可以实现一次编写、到处运行&#xff1f;1.2 一个Java文件里可以有多个类吗&…

我觉得这个域名证书监控平台又吊打Uptimekuma了

前面我们讲过uptimekuma 如何监控域名证书&#xff0c;很多人都喜欢 uptimekuma 那高端暗黑的色系上&#xff0c;然而最实用就是它的域名证书监控和历史可用性图表的展示上了&#xff0c;如下如&#xff1a; 但是这个东西吧&#xff0c;好看吗&#xff1f;好看&#xff0c;有用…

关键点检测——面部情绪数据集

引言 亲爱的读者们&#xff0c;您是否在寻找某个特定的数据集&#xff0c;用于研究或项目实践&#xff1f;欢迎您在评论区留言&#xff0c;或者通过公众号私信告诉我&#xff0c;您想要的数据集的类型主题。小编会竭尽全力为您寻找&#xff0c;并在找到后第一时间与您分享。 …

开源web在线数据库设计软件 —— 筑梦之路

GitHub - drawdb-io/drawdb: Free, simple, and intuitive online database design tool and SQL generator. 简介 DrawDB是一款多功能且用户友好的在线工具&#xff0c;允许用户轻松设计数据库实体关系。通过简单直观的界面&#xff0c;DrawDB使用户能够创建图表、导出SQL脚本…

【机器学习300问】86、简述超参数优化的步骤?如何寻找最优的超参数组合?

本文想讲述清楚怎么样才能选出最优的超参数组合。关于什么是超参数&#xff1f;什么是超参数组合&#xff1f;本文不赘述&#xff0c;在之前我写的文章中有详细介绍哦&#xff01; 【机器学习300问】22、什么是超参数优化&#xff1f;常见超参数优化方法有哪些&#xff1f;htt…

AcWing-168生日蛋糕-搜索/剪枝

题目 思路 表面积和体积公式&#xff1a;以下分析参考自&#xff1a;AcWing 168. 生日蛋糕【图解推导】 - AcWing&#xff1b;AcWing 168. 关于四个剪枝的最清楚解释和再次优化 - AcWing 代码 #include<iostream> #include<cmath> using namespace std;const in…

http协议 tomcat如何访问资源 servlet理论介绍

tomcat介绍 bin是启动命令&#xff1b; conf是配置&#xff0c;可以修改端口号&#xff1b; lib是依赖的jar包&#xff1b; logs是日志 webapps是重点&#xff0c;在这里新建我们自己的javaWeb项目 tomcat如何访问资源 tomcat通过统一资源定位符&#xff08;URL&#xff09;来…

数据分析——业务数据描述

业务数据描述 前言一、数据收集数据信息来源企业内部数据源市场调查数据源公共数据源和第三方数据源 二、公司内部数据客户资料数据销售明细数据营销活动数据 三、市场调查数据观察法提问法实验法 四、公共数据五、第三方数据六、数据预处理七、数据清洗丢弃部分数据补全缺失的…

安卓开发--新建工程,新建虚拟手机,按键事件响应(含:Android中使用switch-case遇到case R.id.xxx报错)

安卓开发--新建工程&#xff0c;新建虚拟手机&#xff0c;按键事件响应 1.前言2.运行一个工程2.1布局一个Button2.2 button一般点击事件2.2 button属性点击事件2.2 button推荐点击事件&#xff08;含&#xff1a;Android中使用switch-case遇到case R.id.xxx报错&#xff09; 本…

PD-L1表达与免疫逃逸和免疫响应

免疫检查点信号转导和癌症免疫治疗&#xff08;文献&#xff09;-CSDN博客https://blog.csdn.net/hx2024/article/details/137470621?ops_request_misc%257B%2522request%255Fid%2522%253A%2522171551954416800184136566%2522%252C%2522scm%2522%253A%252220140713.130102334.…

ollama离线安装,在CPU运行它所支持的哪些量化的模型

在线安装的链接: Download Ollama on LinuxGet up and running with large language models.https://ollama.com/download/linux 离线安装教程: 下载install.sh: https://ollama.ai/install.sh

logback日志持久化

1、问题描述 使用logback持久化记录日志。 2、我的代码 logback是Springboot框架里自带的&#xff0c;所以只要引入“spring-boot-starter”就行了。无需额外引入logback依赖。 pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns&…

docker(五):DockerFile

文章目录 DockerFile1、Dockerfile构建过程解析2、DockerFile常用保留字命令FROMMAINTAINERRUNEXPOSEWORKDIRUSERENVADDCOPYVOLUMECMDENTRYPOINT总结 3、案例 DockerFile 1、Dockerfile构建过程解析 官网文档&#xff1a;https://docs.docker.com/reference/dockerfile/ Dock…

【JavaScript】DOM 事件的传播机制

事件与事件流 事件&#xff0c;这里指和网页进行互动。比如点击链接&#xff0c;移动鼠标等网页被触发&#xff0c;做出响应&#xff0c;形成交互。 js 采用事件监听器来监听事件是否发生。 事件流 事件流描述了从页面中接收事件的顺序。当一个事件发生在某个元素上时&…

匿名管道及其应用

目录 一、什么是匿名管道&#xff1f; 三、创建与使用匿名管道 三、匿名管道的特点 匿名管道的四种情况 匿名管道的五种特性 四、匿名管道的实践应用---进程池 在编程的世界中&#xff0c;匿名管道是一种非常重要的通信机制。今天&#xff0c;让我们一起来深入探讨一下匿…

「 安全设计 」68家国内外科技巨头和安全巨头参与了CISA发起的安全设计承诺,包含MFA、默认密码、CVE、VDP等七大承诺目标

美国网络安全和基础设施安全局&#xff08;CISA&#xff0c;CyberSecurity & Infrastructure Security Agency&#xff09;于2024年5月开始呼吁企业是时候将网络安全融入到技术产品的设计和制造中了&#xff0c;并发起了安全设计承诺行动&#xff0c;该承诺旨在补充和建立现…

数据挖掘原理与应用------分类预测

在数据挖掘和机器学习领域&#xff0c;TPR&#xff08;True Positive Rate&#xff09;是指在实际为阳性的情况下&#xff0c;模型正确预测为阳性的比例。TPR也被称为灵敏度&#xff08;Sensitivity&#xff09;或召回率&#xff08;Recall&#xff09;。它是评估分类模型性能的…

【LeetCode算法】1768. 交替合并字符串

提示&#xff1a;此文章仅作为本人记录日常学习使用&#xff0c;若有存在错误或者不严谨得地方欢迎指正。 文章目录 一、题目二、思路三、解决方案 一、题目 给你两个字符串 word1 和 word2 。请你从 word1 开始&#xff0c;通过交替添加字母来合并字符串。如果一个字符串比另…