R语言实战学习记录(1)

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$今日净资产))
上一篇:windows控件理论学习


下一篇:TJOI2018 简要题解