[原创][R语言]股票分析实战[5]:加载股票数据

[简介]

常用网名: 猪头三

出生日期: 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语言如何加载股票数据文件?

[list.files枚举文件]

假如有一个目录存着5000多只股票数据文件, 每一个文件代表一只股票, 并且命名格式为: 股票代码-股票名称.txt, 例如: 002431-棕榈股份, 那么可以利用list.files()来获取这些文件. 代码如下:

R 复制代码
# 加载目标目录
stock_Files <- list.files(path = "C:/Users/Win11_PHT/Desktop/KLines/", pattern = "^[0-9]{6}-.+\\.txt$", full.names = TRUE)
# 创建一个6列空数据框
stock_Data_Total <- data.frame(matrix(ncol=6))
stock_Data_Total <- stock_Data_Total[-1,]
colnames(stock_Data_Total) <- c("Date", "O", "C", "H", "L", "VOL")

# 循环文件路径列表
for(stock_File_Item in stock_Files)
{
  # 读取股票数据内容
  File_Content <- read.table(stock_File_Item, header = FALSE, sep = "|")
  # 确保列名相同
  colnames(File_Content) <- c("Date", "O", "C", "H", "L", "VOL")
  # 追加数据
  stock_Data_Total <- rbind(stock_Data_Total, File_Content)
}

备注: 上面代码, 这里需要进一步描述清楚, 加载的股票数据, 是一个包含6列的数据. 每一列名称依次为: "Date", "O", "C", "H", "L", "VOL" (日期, 开盘价, 收盘价, 最高价, 最低价).

[结尾]

代码虽然简单, 但是这里还是有一些重要的细节要注意, list.files是支持正则表达式的, 如果你不清楚正则表达式, 那么建议还是要先学习这个技术.

相关推荐
Deepoch19 分钟前
Deepoc具身模型:破解居家机器人“需求理解”难题
大数据·人工智能·机器人·具身模型·deepoc
代码方舟22 分钟前
Java企业级实战:对接天远名下车辆数量查询API构建自动化风控中台
java·大数据·开发语言·自动化
roman_日积跬步-终至千里24 分钟前
【大数据架构-数据中台(2)】数据中台建设与架构:从战略到落地的完整方法论
大数据·架构
zgl_2005377931 分钟前
ZGLanguage 解析SQL数据血缘 之 标识提取SQL语句中的目标表
java·大数据·数据库·数据仓库·hadoop·sql·源代码管理
尋有緣1 小时前
力扣1355-活动参与者
大数据·数据库·leetcode·oracle·数据库开发
roman_日积跬步-终至千里3 小时前
【大数据架构-数据中台(1)】解码数据中台:从概念到认知
大数据·架构·dubbo
追风的木木3 小时前
TDengine在NetCore中数据查询的使用
大数据·tdengine
数据猿3 小时前
【金猿CIO展】上海纽约大学信息技术部高级主任常潘:大数据铸基,AI赋能,从数字化校园向智慧有机体的十年跃迁
大数据·人工智能
李@十一₂⁰3 小时前
git多分支管理
大数据·git·elasticsearch
yumgpkpm3 小时前
AI评判:信创替代对Cloudera CDH CDP Hadoop大数据平台有何影响?
大数据·hive·oracle·flink·kafka·hbase·cloudera