[原创][R语言]股票分析实战[10]:读取股票数据文件的细节: 数值精度丢失 和 排序

[简介]
常用网名: 猪头三
出生日期: 1981.XX.XX
QQ联系: 643439947
个人网站: 80x86汇编小站 https://www.x86asm.org
编程生涯: 2001年~至今[共22年]
职业生涯: 20年
开发语言: C/C++、80x86ASM、PHP、Perl、Objective-C、Object Pascal、C#、Python
开发工具: Visual Studio、Delphi、XCode、Eclipse、C++ Builder
技能种类: 逆向 驱动 磁盘 文件
研发领域: Windows应用软件安全/Windows系统内核安全/Windows系统磁盘数据安全/macOS应用软件安全
项目经历: 磁盘性能优化/文件系统数据恢复/文件信息采集/敏感文件监测跟踪/网络安全检测

[序言]
R语言中, 按行读取文件数据的时候, 如果数据存在多列, 最好为每一列指定类型, 不然R语言在解释数值类型会出现偏差.  另外, 股票数据加载之后, 你可能会进行多次处理, 比如rbind, cbind这类操作, 导致股票数据日期乱序了, 那么就需要重排.

[正确的加载数据方式, 解决数据精度丢失 和 排序]
比如, 有一个股票数据文件"002431-棕榈股份.txt", 内容如下:

20231229|2.47|2.54|2.65|2.44|517517.44
20231228|2.38|2.47|2.48|2.34|316899.00
20231227|2.34|2.42|2.53|2.33|362926.00
20231226|2.36|2.33|2.37|2.32|90035.00
20231225|2.39|2.35|2.39|2.34|130358.50
20231222|2.44|2.39|2.45|2.38|120876.00
20231221|2.42|2.44|2.45|2.38|112654.70
20231220|2.46|2.42|2.47|2.42|92011.03
20231219|2.46|2.45|2.48|2.43|95427.02
20231218|2.50|2.47|2.54|2.46|137959.81
20231215|2.53|2.51|2.55|2.50|104274.00
20231214|2.50|2.52|2.54|2.50|135652.00
20231213|2.51|2.50|2.55|2.49|138082.00
20231212|2.48|2.51|2.51|2.46|144266.50

这个数据, 有6列, 然后需要设定每列数据类型: "integer", "numeric", "numeric", "numeric", "numeric", "numeric", 然后按照第1列日期数据进行排序

#加载股票数据文件
stock_demo <- read.table("002431-棕榈股份.txt", sep = "|", colClasses = c("integer", "numeric", "numeric", "numeric", "numeric", "numeric"))

# 为数据列起标题
names(stock_demo)[1:6] <- c("Date", "O", "C", "H", "L", "VOL")

# 按照日期进行排序
stock_Data_Test <- stock_demo[order(stock_demo$Date),] # 升序
stock_Data_Test <- stock_demo[order(-stock_demo$Date),] # 降序

[结尾]
上面的代码操作细节, 是非常重要的, 如果数据加载出现丢失或者偏差, 会导致后期大数据分析或者建模的准确性降低.

最近更新

  1. TCP协议是安全的吗?

    2024-01-12 12:52:05       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-12 12:52:05       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-12 12:52:05       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-12 12:52:05       20 阅读

热门阅读

  1. JPA的乐观锁实现并发执行SQL案例

    2024-01-12 12:52:05       34 阅读
  2. 测试工程师常用的ChatGPT通用提示词模板

    2024-01-12 12:52:05       37 阅读
  3. LeetCode [103] 二叉树的锯齿形层序遍历

    2024-01-12 12:52:05       36 阅读
  4. 安全加密算法

    2024-01-12 12:52:05       40 阅读
  5. 新版cnpmcore部署私有npm源全教程

    2024-01-12 12:52:05       31 阅读
  6. 浅谈MySQL之新增列

    2024-01-12 12:52:05       38 阅读
  7. socket.d.js v2.3.4 支持“微信“、“uniapp“

    2024-01-12 12:52:05       37 阅读
  8. 【OCR】 - Tesseract OCR在Windows系统中安装

    2024-01-12 12:52:05       39 阅读
  9. MySQL、Oracle、PostgreSQL 数据库备份用的 Shell 脚本

    2024-01-12 12:52:05       26 阅读
  10. gitlab-ee 13.x->14.x->15.x->16.x升级踩坑记

    2024-01-12 12:52:05       31 阅读