楼主: WHAND
1064 1

[学习分享] Getting Started with R (Part 1) [推广有奖]

  • 0关注
  • 5粉丝

已卖:909份资源

博士生

2%

还不是VIP/贵宾

-

威望
0
论坛币
3595 个
通用积分
57.5080
学术水平
5 点
热心指数
5 点
信用等级
5 点
经验
2596 点
帖子
54
精华
0
在线时间
337 小时
注册时间
2017-9-13
最后登录
2025-9-8

楼主
WHAND 学生认证  发表于 2019-12-11 10:13:39 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

有关安装R的更多详细说明

推荐的R代码编辑器:Rstudio,VScode

1.1.2 扩展包安装和载入

R扩展包官方汇总链接:https://mirrors.tuna.tsinghua.edu.cn/CRAN/

(1)安装扩展包
  • R与Rstuidio窗口操作均可完成安装,以Rsudio为例:点击Rstudio界面右下角文件区的Packages,点击Install,在弹出对话框中 , 填入需要安装的包
  • 命令安装
# 获取R存放已经安装的包的位置,默认位置是R的安装路径下的library文件夹
.libPaths()

# 安装:扩展包名称需要加引号
# destdir:指定下载的二进制zip文件存放的位置,默认是临时会话的downloaded_packages文件夹下
# lib:指定下载的二进制zip软件包被解压后的安装位置,默认值的是.libPaths()获取的路劲
install.packages("ggplot2")
install.packages("ggplot2",
                 destdir="D:/Download/Package/R",
                 lib="D:/Program Files/R/R-3.6.1/library")
(2)载入扩展包
  • Rstudio界面:点击Rstudio界面右下角文件区的 Packages,找到你要载入的包 , 在
    前面的方框中打上勾
  • R界面:点击R界面上方的“程序包”,点击 加载程序包,在弹出的窗口中选择需要,载入的包
  • 命令载入
# 扩展包名称可以不加引号
library("ggplot2")
library("ggplot2", lib.loc="C:/Program Files/R/R3.2.2/library")
(3)量化常用扩展包
  • 数据管理:包括数据集抓取、存储、读取、时间序列、数据处理等,涉及的R包有zoo(时间序列对象)、xts(时间序列处理)、timeSeries(Rmetrics系时间序列对象)、timeDate(Rmetrics系时间序列处理)、data.table(数据处理)、quantmod(数据下载和图形可视化)、RQuantLib(QuantLib数据接口)、WindR(Wind数据接口)、RJDBC(数据库访问接口)rhadoop(Hadoop访问接口)、rhive(Hive访问接口)、rredis(Redis访问接口)、rmongodb(MongoDB访问接口)、SparkR(Spark访问接口)、fImport(Rmetrics系数据访问接口)等

  • 指标计算:包括金融市场的技术指标的各种计算方法,涉及的R包有TTR(技术指标)、TSA(时间序列计算)、urca(单位根检验)、fArma(Rmetrics系ARMA计算)、fAsianOptions(Rmetrics系亚洲期权定价)、fBasics(Rmetrics系计算工具)、fCopulae(Rmetrics系财务分析)、fExoticOptions(Rmetrics系期权计算)、fGarch(Rmetrics系Garch模型)、fNonlinear(Rmetrics系非线模型)、fOptions(Rmetrics系期权定价)、fRegression(Rmetrics系回归分析)、fUnitRoots(Rmetrics系单位根检验)等

  • 回测交易:包括金融数据建模,并验证历史数据验证模型的可靠性,涉及的R包有FinancialInstrument(金融产品)、quantstrat(策略模型和回测)、blotter(账户管理)、fTrading(Rmetrics系交易分析)等

  • 投资组合:对多策略或多模型进行管理和优化,涉及的R包有PortfolioAnalytics(组合分析和优化)、stockPortfolio(股票组合管理)、fAssets(Rmetrics系组合管理)等。

  • 风险管理:对持仓进行风险指标的计算和风险提示,涉及的R包有Performance-Analytics(风险分析)、fPortfolio(Rmetrics系组合优化)、fExtremes(Rmetrics系数据处理)


1.2 获取帮助1.2.1 帮助文档

(1)Rstudio界面

点击Rstudio界面右下角文件区的 Help选项,在最后的搜索框中输入想了解的R包或者函数

(2)R界面

点击R界面的“帮助”,开启一个帮助网页

(3)输入命令

# 获取扩展包信息
help("readr")
? readr

# 获取函数信息
help(read_csv)
? read_csv

#搜索与关键词read_csv相关的帮助文档的信息
help.search('ggplot2')
?? ggplot2

# 获取函数ggplot的使用例子  
example("ggplot")

# 给出有关键词ggplot的所有函数  
apropos("ggplot",mode="function")

# 打开搜索首页
RSiteSearch("")

# 搜索有关键词ggplot的所有文档和邮件列表存档
RSiteSearch("ggplot")
RSiteSearch("empirical")   

# 获取函数源代码
read_csv

# 列出当前已加载包中所含有的所有可用示例数据集
data()
1.2.2 实用网站

R的网页搜索引擎,能查找各种函数、R邮件列表归档中的讨论和博客文章:http://rseek.org

R主要的博客社区:http://www.r-bloggers.com

统计之都:http://cos.name/

Github:[url]http://github.com/

1.3 工作空间

工作空间就是当前R的工作环境

# 获取当前工作空间
getwd()

# 设定工作空间
# 路径用双引号或者单引号,必须完整,斜杠为\\或者/
# 文件夹必须存在,如果不存在,可以用dir.create()函数先创建,但文件夹需要逐个建立。
dir.create('D:/Workfiles/Finance/Quants/R')
setwd('D:/Workfiles/Finance/Quants/R')

list.dirs("D:/Workfiles/Finance/Quants/R") #列出当前工作目录下的文件夹
list.files("D:/Workfiles/Finance/Quants/R") #列出当前工作目录下的文件
ls()  #列出当前工作空间中的对象
rm(x) #移除(删除)一个或者多个对象
history(num) #显示最近使用过的num个命令(默认值为25)
savehistory(“aaa”)   #保存命令历史到当前路径下文件aaa中(默认值为.Rhistory)
loadhistory(“aaa”)   #载入一个命令历史文件aaa(默认值为.Rhistory)
options()  ###显示或设置当前选项
q() #退出R或者Rstudio
1.4 R文件的输入/输出1.4.1 保存文件

利用Rstudio/R界面保存脚本文件;保存其他文件代码如下:

# 将运行结果保存成.R或者.txt文件,相对/绝对路径均可
sink("D:/Workfiles/Finance/Quants/R/try.R")
...program
sink()

# 将工作空间里的对象(结果、变量等)保存成.Rdata
save.image('try.RData')

# 图形文件保存:可输出成pdf/png/jpeg/bmp,方法类似
pdf('xxx.pdf')
...program
dev.off()
1.4.2 打开文件

(1)利用Rstudio/R界面
(2)输入命令

# 打开.R文件/R的脚本文件
file.edit("D:/Workfiles/Finance/Quants/R/1.4如何获得帮助.R",fileEncoding = "UTF-8")

# 运行R脚本文件
source("xxx.R",encoding = "UTF-8")

# 打开.Rdata文件
load('try.RData')
1.5 变量

变量为我们提供了我们的程序可以操作的命名存储。 变量名称由字母(区分大小写),数字和点或下划线字符组成,不允许使用空格或特殊字符。 变量名以字母或不以数字后跟的点开头。

变量名

合法性

原因


var_name2.有效有字母,数字,点和下划线
VAR_NAME%无效有字符'%'。只有点(.)和下划线允许的。
2var_name无效以数字开头
.var_name, var.name有效可以用一个点(.),但启动点(.),不应该后跟一个数字。
.2var_name无效起始点后面是数字使其无效。
_var_name无效开头_这是无效的

可以使用向左,向右和等于运算符来为变量赋值:

# 等号赋值
var1 = c(0,1,2,3)           
# 左赋值
var2 <- c("learn","R")   
# 右赋值  
c(TRUE,1) -> var3           

在R语言中,数据类型有:数值型Numeric,整型Integer,复数型Complex,字符串Character,逻辑型Logical,原型Raw。R中的变量不必声明变量类型,R将动态地找出运行时变量的类型。

展示工作空间中的变量:

# 展示工作空间中的所有变量
ls()
# 展示工作空间中变量名包含“var”的变量
ls(pattern = "var")
# 以点(.)开头的变量默认被隐藏,设置“all.names = TRUE”参数列出
ls(all.name = TRUE)

删除变量:

# 删除指定变量
rm(var1)
# 删除所有变量
rm(list = ls())
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝


qrcode.jpg (26.43 KB)

qrcode.jpg

已有 1 人评分论坛币 收起 理由
cheetahfly + 30 精彩帖子

总评分: 论坛币 + 30   查看全部评分

早起学习强国

沙发
zhaosl 发表于 2019-12-12 11:40:38

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-2-7 23:54