R语言数据探索和分析7-股票整合与可视化

一、数据整合

首先查看数据集发现有所不同,所以进行整合:

# 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。

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

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

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

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

三、数据可视化

时间序列图

# 加载所需的库
# 设置图形布局为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月到4月期间相对稳定,在此之后价格出现了下降趋势。5月份之后,股价波动加大,显示出更多的上下波动。下降趋势:从图中可以看出,尽管有波动,但整体趋势是向下的,特别是在5月到7月期间,股价有明显的下降。

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

价格波动:与云南白药相比,冰山冷热的股价波动较小,整体趋势是上升的。上升趋势:2月到7月期间,冰山冷热的股价显示出一种持续上升的趋势,特别是在4月到7月期间,股价持续攀升。

对比分析:

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

直方图

# 设置图形布局为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)

饼图

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)))

从云南白药的饼图可以观察到:价格区间分为四个部分,每个部分代表一个特定的价格范围。最大的部分是价格区间(5.07, 5.36],这意味着大多数的“今收”价格落在这个区间。其他三个区间的占比较小,这表明“今收”价格较少地落在这些范围内。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值