R语言的实用基础知识有很多,都是我在工作和学习中所整理的,有的是看书整理的,也有的是从网络上的各种博客、各种资源获取的,所以我采用日更的方式进行支持整理和更新,希望能够帮到屏幕前的你!
今天是我日更的第一天,我想以R的基础知识为开场,接下来日更内容可能会有其他语言的实用基础知识、软件工具的安装和使用方法、书评、影评以及人生杂谈等等其他的内容进来,如果你在其他平台上也看到了相同的内容不要惊奇,因为那是我同步更新的,我不只用简书,还有很多很多……
好了废话不多说,开始今天的日更内容:
# 简书日更挑战计划_20191201_Sunday
## 1.切换当前工作目录
getwd()
setwd("E:/学习空间/简书/简书日更挑战/20191201_Sunday/")
## 2.电脑系统、平台、R语言版本和Rstudio版本
######################################################
# 1.电脑系统: Windows 10 x64 (build 18363)
# 2.Platform: x86_64-w64-mingw32/x64 (64-bit)
# 3.R版本: 3.6.1(2019-07-05)
# 4.Rstudio: Version 1.2.5019
######################################################
## 3.今天的主题是有三个:1.工作路径的查询和切换;2.注释;3.安装和卸载R包
### 3.1 R语言工作路径的查询和切换
# 各种电脑系统、不管是Window、Mac还是Linux、Unix等都有文件系统以及对应的文件夹树结构,让R语言工作时首先要明确它的工作路径在哪里
#### 查询当前的工作路径(目录、文件夹)
getwd()
# [1] "E:/学习空间/简书/简书日更挑战/20191201_Sunday"
# @我的工作路径已经切换到今天的工作路径:E:/学习空间/简书/简书日更挑战/20191201_Sunday中了,一般R语言在Window默认安装的话,它的每次启动的默认路径是一个相同的路径:"C:/Users/lenovo/Documents"(这是我的,不同电脑系统可能会有区别,但是通常会在C盘)
#### 切换当前的工作路径(目录、文件夹)
setwd("../") # @setwd("../")函数的功能是将当前的工作路径跳到上一级目录(或文件夹),用过linux系统的都知道cd命令吧,cd ../就是切换当前目录到上一级,当你学的越深入时,越能可以看出R语言与Linux有很多相似的地方
dir() # @查看当前目录中的所有文件和目录,类似于Linux系统中的ls命令
# [1] "20191201_Sunday"
# @大家可以看出我的当前的目录中只有一个文件夹:20191201_Sunday
getwd()
# [1] "E:/学习空间/简书/简书日更挑战"
# @我们的工作目录已经切换到: "E:/学习空间/简书/简书日更挑战"中,我们再切换回去
setwd("20191201_Sunday")
getwd()
# [1] "E:/学习空间/简书/简书日更挑战/20191201_Sunday"
# @工作路径的查询和切换已经讲完了,大家可以多多练习,对于刚接触、准备学习R的同学的建议就是:坚持不懈、保持好奇、练习练习练习!
### 3.2 R语言注释
# @R语言注释和其他语言有些类似,例如Python、Perl、Linux shell、Julia等等,这些语言都可以用字符:#放在要注释的文字或代码的行首即可,注释的意思就是解释代码,而不会参与到代码的执行中,对于程序运行时可以视注释行为“空气”
# @养成编写代码好的习惯非常重要,这一点有点类似于养成好的工作学习习惯,会让你事半功倍。写代码时往往是激情迸发的时刻,各种idea在脑海闪烁,当时是记得,但是当你睡过好几觉的时候,你的大脑重启了多少遍之后,你再回来看你当时写的代码,可能你都不知道这是你写的,更别说看明白了。
# @但是如果加上文字说明,把当时电闪雷鸣的灵感记录下来,怎么想的,什么条件、什么算法、当你记下来的时候才可能是你的东西,那些在你脑海里闪烁而过的可能不属于你的,可能是宇宙尘埃穿越而过留下的痕迹!
# @在Rstudio中注释的方法有两种:第一种手动输入#到要注释的行首,第二种快捷键方式Ctrl + Shift + C,可以填加注释,也可以去注释。第一遍填加#到行首,第二遍去掉行首#,非常方便!
# @还有人说用if(FALSE){需要注释的内容}或if(0){需要注释的内容}注释也可以,我测试后发现,这种方法是注释R代码的,首先你的要注释的代码符合R语法,不合法它是会报错的;这种方法不能注释文字
#
if(0){
? 我测试后发现,
? 这种方法是注释R代码的,
? 首先你的要注释的代码符合R语法,
? 不合法它是会报错的;
? 这种方法不能注释文字
}
# @运行上面的代码你会发现以下报错信息:
# > if(0){
#? +? 我测试后发现,
#? 错误: unexpected input in:
#? ? "if(0){
#? 我测试后发现?
# >? 这种方法是注释R代码的,
# 错误: unexpected input in "? 这种方法是注释R代码的?
#? ? >? 首先你的要注释的代码符合R语法,
#? 错误: unexpected input in "? 首先你的要注释的代码符合R语法?
# >? 不合法它是会报错的;
# 错误: unexpected input in "? 不合法它是会报错的?
#? ? >? 这种方法不能注释文字
#? 错误: 找不到对象'这种方法不能注释文字'
#? > }
# 错误: 意外的'}' in "}"
#
# @但是如果你这样注释,然后执行代码,就会发现没有任何输出,这说明代码没有被执行,而且不会报错
if(FALSE){
? a
? b
? c
? print(c)
}
# @检验一下,说明R没有创建对象a,b和c,代码被注释掉了
a
b
c
# > a
# 错误: 找不到对象'a'
# > b
# 错误: 找不到对象'b'
# > c
# function (...)? .Primitive("c")
### 3.3 安装和卸载R包
# @ R语言类似于Python、Perl都可以通过各种功能包来强大自身的解决问题的能力,变的无所不能,
# @ R语言的官网软件包管理中心CRAN,但是软件包资源还有很多,例如Bioconductor上的(截止到今天已经有1823个生物学研究相关的R软件包发布),它的安装方法与CRAN有些区别;还有就是Github上的R包,这也是强大的资源
# @可以这样说,你能想到的现实问题,其实早有牛人帮你解决办法,关键是你要找的到,还要会用
#########################################################
#### 3.3.1 CRAN安装R包:install.packages()函数
#########################################################
##### 3.3.1.1 单个包的安装方法
install.packages("ggplot2")
# @对普通的R包,直接install.packages()即可,一般下载不了都是包的名字打错了,或者是R的版本不够,如果下载了安装不了,一般是依赖包没弄好,或者你的电脑缺少一些库文件,如果实在是找不到或者下载慢,一般就用repos=来切换一些镜像。
# @ 用help(install.packages)获取install.packages()函数的帮助信息,或者直接?install.packages即可
##### 3.3.1.2 批量安装R包: sapply()
anp
sapply(anp, install.packages, character.only = T) # 三个参数:包含要安装的R包的名称的向量,安装函数install.packages,character.only = T
##### 3.3.1.3 下载到本地安装
# @ 先下载到本地,并把它放在工作目录中,或者安装时指定软件包的绝对路径
download.file("http://bioconductor.org/packages/release/bioc/src/contrib/BiocInstaller_1.20.1.tar.gz","BiocInstaller_1.20.1.tar.gz")
install.packages("BiocInstaller_1.20.1.tar.gz", repos = NULL)
# @ 如果你用的RStudio这样的IDE,那么直接用鼠标就可以操作了或者用choose.files()来手动交互的选择你把下载的源码BiocInstaller_1.20.1.tar.gz放到了哪里即可
##### 3.3.1.4 指定网址安装
# @ 是直接找到包的下载地址,需要进入包的主页
packageurl
packageurl
install.packages(packageurl, repos=NULL, type="source")
#packageurl
#packageurl
install.packages(packageurl, repos=NULL, type="source")
#########################################################
#### 3.3.2 Bioconductor安装R包:BiocManager::install()
#########################################################
##### 3.3.2.1 同样单个安装的方法
if (!requireNamespace("BiocManager", quietly = TRUE))
? install.packages("BiocManager") # 首先要安装BiocManager包
BiocManager::install("Biobase") # 再用BiocManager安装
##### 3.3.2.2 批量安装的方法
bioanp
sapply(anp, BiocManager::install, character.only = T) # 前天你需要安装BiocManager包,方法install.packages("BiocManager")
#########################################################
#### 3.3.3 Github安装R包,借助工具包devtools
#########################################################
install.packages("devtools")
library(devtools)
install_github("RevolutionAnalytics/RHadoop")
#### 3.3.4 卸载R包
# @ 卸载前,先看一下已经安装的R包
r_installed.packages
write.csv(r_installed.packages, file = "r_installed.packages_20191201Sunday.csv")
openxlsx::write.xlsx(r_installed.packages, file = "r_installed.packages_20191201Sunday.xlsx", startRow = T, zoom = 120)
##### 3.3.4.1 单个包卸载
remove.packages("R包名称")
##### 3.3.4.2 批量包卸载
# @ sapply函数的运用
rmanp
sapply(rmanp, remove.packages, character.only = T)
## 4.日更结束
sessionInfo()
# R version 3.6.1 (2019-07-05)
# Platform: x86_64-w64-mingw32/x64 (64-bit)
# Running under: Windows 10 x64 (build 18363)
#
# Matrix products: default
#
# locale:
#? [1] LC_COLLATE=Chinese (Simplified)_China.936
# [2] LC_CTYPE=Chinese (Simplified)_China.936?
# [3] LC_MONETARY=Chinese (Simplified)_China.936
# [4] LC_NUMERIC=C? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
# [5] LC_TIME=Chinese (Simplified)_China.936? ?
#
# attached base packages:
#? [1] stats? ? graphics? grDevices utils? ? datasets
# [6] methods? base? ?
#
# loaded via a namespace (and not attached):
#? [1] BiocManager_1.30.10 compiler_3.6.1? ?
# [3] tools_3.6.1? ? ? ? Rcpp_1.0.3? ? ? ?
# [5] zip_2.0.4? ? ? ? ? openxlsx_4.1.3?