您的位置:首页 > 时事 >

微动态丨函数和R包 20230203

一、函数

(1)形式函数和实际函数

(2)自定义函数

>自定义函数名称<-function(x,y,z=2){设定的函数}

> hpf<-function(x,y,z=2){(x+y)^z}> hpf(2,3)[1] 25

a) 自定义函数的名称是任意的,但最好不与已存在的函数重名

b) x、y都是形式函数,数值可以更改


【资料图】

c) z有默认的赋值,使用者如果如果没有重新定义会一直使用默认值

‼️当一个代码需要复制黏贴三次就应该写成循环或者定义函数

eg:

plot绘图:当需要绘制 plot(iris[ ,1],col=iris[ ,5]) ;plot(iris[ ,2],col=iris[ ,5]) ; plot(iris[ ,3],col=iris[ ,5]) ; plot(iris[ ,4],col=iris[ ,5])时,可以自定义函数方便快捷的完成。

> replot<-function(i){plot(iris[,i],col=iris[ ,5])}> replot(1)> replot(2)> replot(3)> replot(4)

(3)函数的默认值

函数的默认值是作者设定的,使用者不能改变默认值,但是可以使用自定义的值

help()或者 ??() 可以查看默认值, 例如sort()函数的默认值为decreasing=F

二、R包介绍

1)⚠️下载

原始方法:install.packages(" ") 适用于大部分的R包

生信相关包:BiocManager::install(" ") ‼️但是首先要下载BiocManager包,install.packages("BiocManager")

从github下载:devtools::install_github("开发者用户名/R包名称") ‼️要首先下载devtools包,install.packages("devtools")

2)R包的使用

每次使用前必须library() 相应的包不然会报错。或者直接输入包的名称后接" ::"可以直接选择相应函数

3)设置镜像

设置中科大镜像源:options(BioC_mirror="https://mirrors.ustc.edu.cn/bioc/")

设置清华镜像源options(BioC_mirror="http://mirrors.tuna.tsinghua.edu.cn/bioconductor/")

或者点鼠标操作:

tools---global option---packages

packages——change可以更改镜像源

4)常见报错

1、warning massage

warning是可以忽略的,上图的报错可以library一下依赖的程序包,Biobase、BioGenerics后,再次library(GEOquery)即可成功

2、package not availble for this version of R

可能原因1:包名写错

可能原因2:安装命令写错,install.packages和BioManager::install()都试一下

可能原因3:本机R语言版本与R包不符

可能原因4:包过时了

3、更新问题

all /some/ no +回车

能不更新就不更新,除非一直报错

4、加载a包,报错b包不存在

先install.packages("GenomeInfoDbData"),再安装“GSBV”

5、看到关键词connection,internet,url,404,http等

重新练联网,以上都是网络问题导致的

6、not writable/ permission debied

⚠️权限问题,用管理员身份打开R语言,重新下载。

5)R包安装成功的标志

可以看到successfully安装了,并且有安装路径
可以搜索已经下载好的包,在包前面的方框☑️就相当于library该包。

补充:列出一个R包内的函数和数据

> ls("package:stringr")  [1] "%>%"               "boundary"          "coll"              [4] "fixed"             "fruit"             "invert_match"       [7] "regex"             "sentences"         "str_c"             [10] "str_conv"          "str_count"         "str_detect"        [13] "str_dup"           "str_ends"          "str_equal"         [16] "str_escape"        "str_extract"       "str_extract_all"   [19] "str_flatten"       "str_flatten_comma" "str_glue"          [22] "str_glue_data"     "str_interp"        "str_length"       [25] "str_like"          "str_locate"        "str_locate_all"    [28] "str_match"         "str_match_all"     "str_order"         [31] "str_pad"           "str_rank"          "str_remove"        [34] "str_remove_all"    "str_replace"       "str_replace_all"   [37] "str_replace_na"    "str_sort"          "str_split"         [40] "str_split_1"       "str_split_fixed"   "str_split_i"       [43] "str_squish"        "str_starts"        "str_sub"           [46] "str_sub_all"       "str_sub<-"         "str_subset"        [49] "str_to_lower"      "str_to_sentence"   "str_to_title"      [52] "str_to_upper"      "str_trim"          "str_trunc"         [55] "str_unique"        "str_view"          "str_view_all"      [58] "str_which"         "str_width"         "str_wrap"         [61] "word"              "words"
相关新闻