Jimmy那些事儿

R_安装与配置

R语言安装、卸载与基本配置;

工作空间

  • 工作空间(workspace)就是当前R的工作环境,它储存着所有用户定义的对象(向量、矩阵、函数、数据框、列表) 。
    • 在一个R会话结束时,你可以将当前工作空间保存到一个镜像中,并在下次启动R时自动载入它。
  • 获得与修改当前存储路径
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 返回当前目录
getwd()
# 指定存储路径
setwd("D:/Downloads/R")
--同时在RStudio — Tools — Global Options — General 中设置默认路径
# 列出当前工作空间中的对象
ls()
# 移除一个对象
rm(object)
options() # 显示或设置当前选项
load("myfile") # 读取一个工作空间到当前回话中 默认值为.RData
loadhistory("myfile") # 载入一个命令历史文件(默认值为.Rhistory)

保存

  • save(objectlist, file=”myfile”) : 保存指定对象到一个文件中
  • save.image(“myfile”) : 保存工作空间到文件myfile中(默认值为.RData)
  • savehistory(“myfile”) : 保存命令历史到文件myfile中(默认值为.Rhistory)


数据库相关

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 列出当前工作空间中的对象
ls()
# 读取一个工作空间到当前会话中(默认值为.Rdata)
load("myfile")
# 保存指定对象到一个文件中
save(objectlist,file="myfile")
# 移除一个/多个对象
rm(objectlist)
# 在当面会话从执行一个脚本
source("filename")
# 退出R
q()

帮助文档

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 打开帮助文档首页
help.start()
# 查看函数foo的帮助
?foo / help(foo)
# 函数foo的使用示例
example("foo")
# 以foo为关键词搜索本地帮助文档
??foo / help.serach(foo)
# 列出名称中含有foo的所有可用函数
apropos("foo",mode="function")

包的使用

  • install.packages("name", destdir="D:\\3_资源收集\\90_软件安装\\4 程序编程\\R\\library")
1
2
lib_down <- c("D:\\3_资源收集\\90_软件安装\\4 程序编程\\R\\library")
install.packages("", destdir=lib_down)

若在Rstudio中安装失败,可选择在R中进行安装

  • 常用安装包
1
2
3
4
5
6
7
8
library(readr)
library(readxl)
library(dplyr)
library(reshape2)
library(stringr)
library(lubridate)
library(scales)
library(ggplot2)


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# 安装包
install.packages("ggplot2")
--# 安装多个包
install.packages(c("name1","name2"))
# 加载包
library(ggplots)
# 移除已加载的包
detach("package:name")
# 卸载包
remove.packages("name")
# 更新包
update.packages("ggplot2")
# 包-帮助
help(package="ggplot2")
# 包-调用函数 两个冒号
package::fun(x)
- Hmisc::describe(myvars) # 调用Hmisc中的describe函数来对myvars得出统计量
# 查看已安装的包
installed.packages()


手动安装包

  1. 下载package.zip文件
  2. 打开R的菜单栏->Packages->“Install package from local zip file…
  3. 选择package.zip文件
  • 研究过R包的结构的朋友就会发现,zip文件解压之后就是R中library里的结构。那么,我们可以直接解压zip包,然后将解压后的文件放入R安装根目录的library文件夹

我在CRAN上没找到目标包,是什么情况(如功能强大的Rweibo包)?

答:这时候不要急,可能该包在R-forge project 上,上该站查查看吧。


报错与解决

  • missing value where TRUE/FALSE needed
1
2
# With a little digging into Github, the answer seems to be specifying the following in the .Rprofile:
options(repos=c(CRAN="https://cran.rstudio.com/"))


常用的包

  • lib_down <- "D:\\1_工作学习\\90_软件应用\\3_程序编程\\R\\library"

destination : 目的地

1
2
3
4
5
6
7
> # 常用
> c("readr","readxl","xlsx","dplyr","plyr", "reshape2","stringr","ggplot2","plotly","lubridate""rmarkdown","knitr")
>
> # 统计分析
> c("Hmisc","pastecs","psych","doBy","car","effects","leaps","corrgram","corrplot","vcd","ggm","gmodels")
>
>

>

  • 数据导入与导出
1
install.packages(c("readr","readxl","xlsx"),destdir=lib_down)
  • 数据处理
1
install.packages(c("dplyr","plyr", "reshape2"),destdir=lib_down)
  • 字符串
1
install.packages(c("stringr"), destdir=lib_down)
  • 作图
1
2
3
4
install.packages(c("ggplot2","plotly"),destdir=lib_down)
# plotly :交互式作图
# grid : 一页多图
  • 日期
1
install.packages(c("lubridate"),destdir=lib_down)
  • 自动化
1
2
3
4
5
6
7
8
9
10
install.packages(c("knitr","rmarkdown"), destdir=lib_down)
-----------------------------------------------------------------------------------
在Tools-Golbal options-Sweave-weave Rnw files using -选择knitr
新建一个Rmd的文件,或者在File-new file-R markdown,新建一个Rmd的文件。
操作 Markdown中的R语言的代码是三个后引号,然后后面加上{r}开始,{r,} 大括号中,r字母后面可以加入不同的参数
```{r,eval=FALSE}
1
2
3
4
5
6
7
8
9
<br>
### 统计分析
- **描述统计量**
```r
install.packages(c("Hmisc","pastecs","psych","doBy"),destdir=lib_down)
  • 列联表
1
install.packages(c("gmodels"),destdir=lib_down)
  • 相关性
1
install.packages(c("corrgram","corrplot","vcd","ggm"),destdir=lib_down)
  • 回归
1
install.packages(c("car","effects","leaps"),destdir=lib_down)
  • 方差分析
1
install.packages(c("gplots","multcomp"),destdir=lib_down)
  • 时间序列
1
install.packages(c("forecast","satas"),destdir=lib_down)


机器学习

  • 聚类
1
2


代码格式

内容 注意 示例
缩进 1.两个空格,不要使用制表符,永远不要混用 2.例外: 当括号内发生折行时, 所折行与括号内的第一个字符对齐
二元操作符(+,<-,-等) 1.两侧加上空格 2.在函数调用中传递参数时 = 两边的空格可加可不加.
逗号(,) 逗号后须加空格,逗号前不加空格
括号( ) 在前括号前加一个空格, 函数调用时除外. 正例: if (debug) 反例: if(debug)


连接数据库

参照

  1. 新增数据库设置
    • 控制面板项 - 管理工具 - 数据源(ODBC)
    • 添加 - 选择对应的SQL
      • Name : 可以任意取
      • Server : locale 或者指定的数据库 anly2.dm.ytx.com
    • 使用登录的Windows账户 或者 自定义账户密码
  2. 进入R安装RODBC包并载入
1
2
3
4
5
6
install.packages("RODBC")
library(RODBC)
connect=odbcConnect('name',uid='xxx',pwd='xxx') #连接前面创建的数据库,本机的话uid和pwd可以忽略;
# name 为之前设置的Name;
# 若之前设置时 选择使用Windows登录的账户,则账户密码不用填写
connect <- odbcConnect("SQLServer")
  1. 查询
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 使用sql进行查询
sqlQuery(connect,"select * from USArrests")
# 从数据库读取数据表,并返回一个数据框对象
sqlFetch(channel, "USArrests",rownames = "state")
# 查看数据库中的表
sqlTables(connect)
# 返回数据库中表的信息
sqlTables(channel)
# 返回数据库表sqtable列的信息
sqlColumns(channel, sqtable)
  1. 存入表格
1
2
3
4
data(USArrests) #把R自带的数据USArrests 写入数据库中
sqlSave(connect,USArrests,rownames = "state",addPK = TRUE) #把行名称改为state,并保存,此时进入数据库可看到表格
sqlSave(connect, mydf, tablename = sqtable, append = FALSE) # 将一个数据框写入或更新(append=True)到数据库
  1. 删除
1
2
3
4
5
# 删除表中的内容
sqlClear(channel, sqtable)
# 删除表格
sqlDrop(channel,"USArrests")
  1. 关闭连接
1
odbcClose(connect) #关闭连接


Jupyter中添加R

  • 方法1
1
2
3
4
nstall.packages('devtools')
devtools::install_github('IRkernel/IRkernel')
# or devtools::install_local('IRkernel-master.tar.gz')
IRkernel::installspec() # to register the kernel in the current R installation

Per default IRkernel::installspec() will install a kernel with the name “ir” and a display name of “R”. Multiple calls will overwrite the kernel with a kernel spec pointing to the last R interpreter you called that commands from. You can install kernels for multiple versions of R by supplying a name and displayname argument to the installspec() call (You still need to install these packages in all interpreters you want to run as a jupyter kernel!):

1
2
3
4
# in R 3.3
IRkernel::installspec(name = 'ir33', displayname = 'R 3.3')
# in R 3.2
IRkernel::installspec(name = 'ir32', displayname = 'R 3.2')

Now both R versions are available as an R kernel in the notebook.

If you encounter problems during installation

  1. Have a look at the full installation instructions!
  1. Search the existing open and closed issues.
  1. If you are sure that this is a new problem, file an issue.
  • 方法2
    • Installing via supplied binary packages
    • Making the kernel available to Jupyter
1
2
3
4
5
6
7
install.packages(c('repr', 'IRdisplay', 'evaluate', 'crayon', 'pbdZMQ', 'devtools', 'uuid', 'digest'))
devtools::install_github('IRkernel/IRkernel')
# Don’t forget step 2/2!
# Third 该步骤无需网络
IRkernel::installspec()