1.一些包
install.packages("rmarkdown") 或
install.packages("devtools")
devtools::install_github("rstudio/rmarkdown") #这俩是用于r语言生成html
install.packages("R6")
install.packages("dplyr")
install.packages("openxlsx")
install.packages("zoo")
install.packages("reshape2")
install.packages("knitr")
install.packages("plotly")
install.packages("ggplot2")
install.packages("WindR") #万德这个最好在万德上修复一下R插件
安装完用之前先用library写
library(R6) #以此类推
2.一些基本函数
函数 | 解释 |
---|---|
c () | 是combine 的意思,把一堆东西变成向量 |
source | 执行r脚本文件的意思 |
options(digits=3) | 设置小数点后为3 |
<- | 赋值 |
%>% | 把左边的值传递给右边 |
x<-x[!is.na(x)] | 就是把x中所有不是NA的值赋予x,比如说x=c(1,2,NA,4),那么运行这个程序以后,x=c(1,2,4) |
dcast/acast/melt | 长格式数据转换成宽格式数据 |
merge | 合并数据集,类似vlookup |
tbl_df() | 可用于将过长过大的数据集转换为显示更友好的 tbl_df 类型;使用dplyr包处理数据前,建议先将数据集转换为tbl对象。 |
as.numeric | 转化为数值型 |
as.logic | 转化为逻辑型 |
as.complex | 转化为复数型 |
as.character | 转化为字符型 |
as.array | 转化为数组 |
as.data.frame | 转化为数据框 |
3.文件夹操作
引用自(https://blog.csdn.net/zq769274630/article/details/92006995)
rm(list=ls())
path = 'J:/lab/EX29 --在R语言中进行文件(夹)操作'
setwd(path)
cat("file A\n", file="A") #创建一个文件A,文件内容是'file A','\n'表示换行,这是一个很好的习惯
cat("file B\n", file="B") #创建一个文件B
file.append("A", "B") #将文件B的内容附到A内容的后面,注意没有空行
file.create("A") #创建一个文件A, 注意会覆盖原来的文件
file.append("A", rep("B", 10)) #将文件B的内容复制10便,并先后附到文件A内容后
file.show("A") #新开工作窗口显示文件A的内容
file.copy("A", "C") #复制文件A保存为C文件,同一个文件夹
dir.create("tmp") #创建名为tmp的文件夹
file.copy(c("A", "B"), "tmp") #将文件夹拷贝到tmp文件夹中
list.files("tmp") #查看文件夹tmp中的文件名
unlink("tmp", recursive=F) #如果文件夹tmp为空,删除文件夹tmp
unlink("tmp", recursive=TRUE) #删除文件夹tmp,如果其中有文件一并删除
file.remove("A", "B", "C") #移除三个文件
4.windR详细函数介绍
引用自(https://www.it610.com/article/1288094205222105088.htm)
(https://wenku.baidu.com/view/f40f319555270722192ef788.html)
启动WindR
library(WindR)
w.start()
函数名 | 函数功能 |
---|---|
wsd/wss | 获取日间基本面数据、行情数据等 |
wsi | 获取分钟行情数据、支持技术指标变参 |
wst | 获取日内买卖十档盘口快照、成交数据 |
wsq | 获取订阅实时行情数据 |
wset | 获取板块、指数等成分数据 |
edb | 获取宏观经济数据 |
tdays | 返回区间内日期序列 |
w.wsd(windcodes, windfields, starttime, endtime,option)
w.wss(windcodes, windfields, option)
w.wsi(windcodes, windfields, starttime, endtime,option)
w.wst(windcodes, windfields, starttime, endtime,option)
w.wsq(windcodes, windfields, option, func=NULL)
w.wset(tablename, option)
参数
windcodes Wind格式的证券代码,比如000001.SZ,600000.SH,要带后面的.SZ、.SH等后缀
tablename 数据集名称
windfields 要提取的数据,如open(开盘价)、high(最高价)、low(最低价)、close(收盘价),如果提取多个指标,直接用诸如”open, high, low,close”的形式用,分割开就行。
startdate和enddate 起始日期,格式为”2018-01-01”或“20180101”
starttime和endtime 起始时间,格式为“2018-01-0109:30:00”或“20180101 09:30:00”
option 可选参数,例如某些技术指标如MA、KDJ、MACD等指标的参数设置。
func 回调参数
5.如何将integer格式的20210101转化为日期格式2021-01-01
先转成字符串,再转成date
Y是四位的年份数字,y是两位的年份数字
RawData$日期 = as.Date(as.character(RawData$日期),"%Y%m%d")
6.如何把字符串型数据转化为数值型便于后续操作
一般直接用as.numeric就行
但很多情况会在强行改变数据格式的过程中出现NA
这种情况可以检查一下是否原数据中含有“,”比如“100,897.10”,“78,675.08”等等
这种需要先把“,”先去掉再进行转化格式,代码如下
RawData$今日净资产<-as.numeric(gsub(",","",RawData$今日净资产))