r语言_r语言绘图 - CSDN
r语言 订阅
R是用于统计分析、绘图的语言和操作环境。R是属于GNU系统的一个自由、免费、源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具。 展开全文
R是用于统计分析、绘图的语言和操作环境。R是属于GNU系统的一个自由、免费、源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具。
信息
诞生地
新西兰 奥克兰大学
外文名
The R Programming Language
开发者
Ross Ihaka,Robert Gentleman
中文名
R语言
功    能
统计分析、绘图
R语言发展历史
R是统计领域广泛使用的诞生于1980年左右的S语言的一个分支。可以认为R是S语言的一种实现。而S语言是由AT&T贝尔实验室开发的一种用来进行数据探索、统计分析和作图的解释型语言。最初S语言的实现版本主要是S-PLUS。S-PLUS是一个商业软件,它基于S语言,并由MathSoft公司的统计科学部进一步完善。后来新西兰奥克兰大学的Robert Gentleman和Ross Ihaka及其他志愿人员开发了一个R系统。由“R开发核心团队”负责开发。R可以看作贝尔实验室(AT&T BellLaboratories)的RickBecker,JohnChambers和AllanWilks开发的S语言的一种实现。当然,S语言也是S-Plus的基础。所以,两者在程序语法上可以说是几乎一样的,可能只是在函数方面有细微差别,程序十分容易地就能移植到一程序中,而很多一的程序只要稍加修改也能运用于R。
收起全文
精华内容
参与话题
  • R语言入门基础

    千人学习 2019-06-03 10:19:28
    本课程旨在帮助学习者快速入门R语言: 课程系统详细地介绍了使用R语言进行数据处理的基本思路和方法。 课程能够帮助初学者快速入门数据处理。 课程通过大量的案例详细地介绍了如何使用R...
  • R语言数据分析入门

    千人学习 2019-06-26 11:50:34
    R语言是一种用来进行数据探索、统计分析、作图的解释型语言。它具有丰富的数据类型、灵活多样的作图功能,以及数量众多的算法功能包。目前已在各行各业赢得数据分析者的青睐,并成为众多科研工作者、商业机构、与...
  • R语言是什么?

    万次阅读 多人点赞 2018-06-17 18:56:38
    1什么是R语言R语言,顾名思义,它首先是一门计算机的编程语言,就跟传统的C语言,Java语言类似,但是,它又不仅仅是一门计算机语言。这是因为,R语言天生为统计而生,所以,它做不到像C语言那般的普适,数据分析、...

    1什么是R语言?

    R语言,顾名思义,它首先是一门计算机的编程语言,就跟传统的C语言,Java语言类似,但是,它又不仅仅是一门计算机语言。这是因为,R语言天生为统计而生,所以,它做不到像C语言那般的普适,数据分析、统计建模、数据可视化才是它的舞台。

    R语言天生为统计而生, 数据分析、统计建模、数据可视化才是它的舞台。

    2为什么要学习R语言?

    做过一点数据分析的人都知道,目前市场上最流行的统计分析软件是SPSS,不可否认,这个软件很好用,傻瓜式的点击操作,一目了然的表格式的结果,甚至也能画一些简单的图形。但是,相信在很多时候,当你使用SPSS进行数据分析时,你也会觉得束手无策,不是你不够聪明,而是SPSS实在是巧妇难为无米之炊。点击操作固然方便简单,但是在功能的灵活性上却大打折扣。故而,你想到了SAS。不过,在你使用SAS之前,请你先找一个正版的安装包(什么破解版就不推荐了,毕竟我们要推崇版权意识嘛),在你的Windows系统上装上它再说吧。SAS就是一个航空母舰,战斗力强大,但是却显得异常臃肿,我很好奇一个界面完全算不上好看的统计软件,是如何把自己的安装包一步一步升级到一个极品飞车安装包的级别的。笔者不才,曾经试图两次安装SAS,但是由于并不精通计算机系统,故而两次均以失败告终,万般无奈之际,选择了R语言。

    山重水复疑无路,柳暗花明又一村。R语言在前几年的名气远不及SPSSSAS,甚至一度有很多人压根就看不上这样一个软件,认为它做出来的东西很有可能是错误的,压根就不靠谱。但是质疑声永远也不能阻止一个新生事物的快速发展。坦白说,我入了R的坑,从此SPSSSAS是路人!

    R是免费的!安装包仅有70M,而且安装异常简单,所需操作环境十分随意。就是这样一个十分亲民友好的软件,功能却是异常强大!我用的不是非常,而是异常!作为一名还不算资深的R粉,在我的数据清洗与数据分析的过程中,我深深的被R语言的简洁强大震撼到了。而且我十分赞赏R语言所推崇的“向量化操作”的理念:不写循环,但是能做循环一样的事儿。

    关于R,难以一言以蔽之,它就像一个航母战斗群,不同的军舰承载着不同的任务,但是彼此和谐相处,毫不冲突。正如前言所说,R是为统计而生,但是随着这几年的快速发展,R的功能范围已经得到了极大的扩展,比如自然语言处理,机器学习领域,生物信息学领域等等。即便如此,也永远不要忘了,R语言自身的统计功能!

    现如今,在R的队伍中,已经存在了超过12000个扩展包,这些扩展包来自不同领域的牛人之手。所以,只要你想得到,没有R做不到!因为你想到的,人家早就已经替你想过了。

    3R语言能做什么?靠谱吗?

    首先说靠不靠谱这件事,真的是有点老生常谈了,很多人习惯性的认为免费的东西就是不好的东西,这样一竿子打死所有,是不合理的,有点酸葡萄的心理。笔者曾经在PubMed上见到很多的文章都是用R语言做的统计分析,其中不乏顶级期刊,诸如LancetJCO这样的。上图,无图无真相。

    窥一斑而见全豹。所以关于靠不靠谱这事,到此为止。

    下面说说R能做啥。对于医学科研工作者来说,对于软件的需求其实真的不是很大,基本的统计分析基本能够满足我们。但是,当我们碰到复杂的数据时,也不要怕,从数据的预处理到数据的分析建模,以及后续的绘图,R都能帮你搞定。关于数据预处理和初步分析,在这里就不多说了,因为我没办法上图(可以浏览“医学方”所推出的“一本R书走天涯”推文教程和视频教程)。下面说说R的可视化功能。各位看官瞧好了。

    1

    基本的统计图

    2

    火山图

    3

    地图

    4

    3D图

    实在是太多了,难以一一枚举。总之,R有一个非常强大的数据可视化宝库,该怎么用就看你的了。

    4如何学习R语言?

    R语言作为一门编程语言,学习起来自然是有点难度的,但是大家也不要害怕。接触任何新事物,总有一个过程。目前市面上关于R语言的数据甚多,而且医学方也推出了R语言的培训课程。在那个课程里面,笔者将R语言的基础入门知识进行了系统讲解,帮助大家快速掌握R语言的基本操作。有了这些基本技能,你想进一步挖掘,就会变得轻松很多。

    不要迟疑了,要想做科研,快用R语言!

    展开全文
  • 终于,我也出了篇R语言入门手册!

    万次阅读 多人点赞 2018-08-20 00:17:41
    作者:周运来,男,长大了才会遇到的帅哥,稳健,潇洒,大方,靠谱。大型测序工厂的螺丝钉,一个R者,一个随机森林中靠统计觅食的人。1. 什么是R语言R语言是一个开源的数据分析...
        

    作者:周运来,男,长大了才会遇到的帅哥,稳健,潇洒,大方,靠谱。大型测序工厂的螺丝钉,一个R者,一个随机森林中靠统计觅食的人。



    640?wx_fmt=png


    1. 什么是R语言

    R语言是一个开源的数据分析环境,起初是由数位统计学家建立起来,以更好的进行统计计算和绘图,这篇wiki中包含了一些基本情况的介绍。由于R可以通过安装扩展包(Packages)而得到增强,所以其功能已经远远不限于统计分析,如果感兴趣的话可以到官方网站了解关于其功能的更多信息。

    至于R语言名称的由来则是根据两位主要作者的首字母(Robert Gentleman and Ross Ihaka),但过于简短的关键词也造成在搜索引擎中很不容易找到相关的资料。不过这个专门的搜索网站可以帮到你。

    640?wx_fmt=png


    2. 为什么要学习R语言

    给你一千个R的理由( 地址: https://www.burns-stat.com/documents/tutorials/why-use-the-r-language/ )可能你想说,“我已经学会了spss/sas/stata...,为什么还要去学习R呢?”

    如下几方面可能会吸引到你:

    1. 编程入门语言: 如果你之前没有编程经验,但是学习工作中经常需要计算、统计、绘图,那R是你的首选(Python也许不太同意,不管他)。语法结构简单,上手较快,而且函数和pckages都有很好的实例文档。R是一门自学型语言,来R吧,你不会孤独。

    2. R是免费开源软件:现在很多学术期刊都对分析软件有版权要求,而免费的分析工具可以使你在这方面不会有什么担心。另一方面,如果学术界出现一种新的数据分析方法,那么要过很长一段时间才会出现在商业软件中。但开源软件的好处就在于,很快就会有人将这种方法编写成扩展包,或者你自己就可以做这件工作。

    3. 命令行工作方式:许多人喜欢类似SPSS菜单式的操作,这对于初学者来说很方便入门,但对于数据分析来说,命令行操作会更加的灵活,更容易进行编程和自动化处理。而且命令行操作会更容易耍酷,不是嘛,一般人看到你在狂敲一推代码后得到一个分析结果,对你投来的目光是会不一样的。

    4. 小巧而精悍:R语言的安装包更小,大约不到40M,相比其它几个大家伙它算是非常小巧精悍了。目前R语言非常受到专业人士欢迎,根据对数据挖掘大赛胜出者的调查可以发现,他们用的工具基本上都是R语言。此外,从最近几次R语言大会上可以了解到,咨询业、金融业、医药业都在大量的使用R语言,包括google/facebook的大公司都在用它。因此,学习R语言对你的职业发展一定是有帮助的。

    640?wx_fmt=png


    3. R语言的学习方法
    学习R是一件非常轻松的事情,初学者需要记住的就是:

    利用丰富的帮助文档
    亲手键入代码并理解其意义
    在笔记里记下一些重点或心得(个人推荐Evernote)
    坚持练习,对手边的数据进行应用分析
    理解背景知识,细节很重要。

    R的获取

    640?wx_fmt=png

    640?wx_fmt=png

    R包(package):R函数、数据、帮助文件、预编译代码以一种定义完善的格式组成的集合。

    .libPaths("E:/Rstudio/R_packages") #指定安装包的路径联网安装
    install.packages(“vegan”) #安装普通包source(“https://bioconductor.org/biocLite.R”)#安装Bioconductor包biocLite("DESeq2")
    
    安装本地zip包
    Packages>install packages from local files
    library(vegan) #加载包,也可用require()update.packages("vegan") #包的更新installed.packages() #查看已安装的包

    640?wx_fmt=png


    640?wx_fmt=png

    1.基础数据结构

    1.1 向量

    # 创建向量a <-c(1, 2, 3, 4, 5, 6)
    b<-c("one", "two", "three")
    c<-c(TRUE, FALSE, TRUE, TRUE, FALSE)#向量索引a[2] #第二个元素a[-2] #删除第二个元素a[c(2:4)] #取出第二到第四个元素[1] 2[1] 2[1] 1 3 4 5 6

    640?wx_fmt=png

    1.2 矩阵

    #创建矩阵mymat <- matrix(c(1:10), nrow=2, ncol=5, byrow=TRUE)#矩阵索引mymat[2,] #取第二行mymat[,2] #取第二列mymat[1,5] #第一行第五列的元素

    640?wx_fmt=png

    1.3 数组

    #创建数组myarr <- array(c(1:12),dim=c(2,3,2))
    dim(myarr) #取矩阵或数组的维度myarr[1,2,1] #取第一个矩阵的第一行第二列

    1.4 数据框

    640?wx_fmt=png


    640?wx_fmt=png

    # 创建数据框kids <- c("Wang", "Li")
    age <- c("18", "16")
    df <- data.frame(kids, age)#数据框索引df[1,] #第一行df[,2] #第二列df[1:2,1:2]#前两行,前两列df$kids #根据列名称#数据框常用函数str(df) #数据框的结构rownames(df) #行名称colnames(df) #列名称


    1.4.1 因子变量

    变量:类别变量,数值变量
    类别数据对于分组数据研究非常有用。(男女,高中低)
    R中的因子变量类似于类别数据。

    #向量因子化status<-c("Poor", "Improved", "Excellent", "Poor") 
    status<-factor(status,ordered=TRUE,
        levels= c("Poor","Improved", "Excellent"),
        labels=c("P","I","E"))
    index <- sample(1:100,75)
    plotdata <- data.frame(index,status)
    attach(plotdata)
    boxplot(index~status,col="red")

    640?wx_fmt=png类别变量,有序变量称为因子,决定了数据的分析方式和视觉呈现形式

    Attach()可以将数据框添加到R的搜索路径中,当R遇到一个变量名后,将检测搜索路径中的数据框,定位这个变量


    1.5 列表

    列表以一种简单的方式组织和调用不相干的信息,R函数的许多运行结果都是以列表的形式返回

    #创建列表lis <- list(name='fred',
        wife='mary',
        no.children=3,
        child.ages=c(4,7,9))#列表索引lis$name #列表组件名lis[[1]] #列表位置访问
    常用函数

    640?wx_fmt=png

    640?wx_fmt=png

    R流程控制

    640?wx_fmt=png

    p <- 0.1 
    if(p<=0.05){  print("p<=0.05!")
    }else{  print("p>0.05!")
    }

    640?wx_fmt=png

    for(i in 1:10) {  print(i)
    }
    i <- 1while(i<10) 
       {    print(i)
        i <- i + 1
      }

    640?wx_fmt=png

    v <- LETTERS[1:6]for (i in v){  if(i == 'D'){
        next
      }  print(i)
    }

    640?wx_fmt=png

    v <- LETTERS[1:6]for (i in v){  if(i == 'D'){    break
      }  print(i)
    }


    2.5 R函数

    函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段

    rcal<-function(x,y){
      z <- x^2 + y^2; 
      result<-sqrt(z) ;
      result;
    }
    rcal(3,4)# 调用函数


    3. 读写数据

    #数据读入
    getwd()
    setwd('C:/Users/Administrator/Desktop/file') dir() top<-read.table("otu_table.p10.relative.tran.xls",header=T,row.names=1,sep='\t',stringsAsFactors = F) top10<-t(top) head(top10, n=2)#数据写出logtop10<-log(top10+0.000001) write.csv(logtop10,file="logtop10.csv", quote=FALSE,  row.names = TRUE) write.table(logtop10,file="logtop10.xls",sep="\t", quote=FALSE,    row.names = TRUE, col.names = TRUE)

    其他常用函数

    640?wx_fmt=png


    4.数据清理

    640?wx_fmt=png


    4.1 tidyr包

    tidyr包的四个函数
    宽数据转为长数据:gather()
    长数据转为宽数据:spread()
    多列合并为一列: unite()
    将一列分离为多列:separate()

    library(tidyr)
    gene_exp <- read.table('geneExp.csv',header = T,sep=',',stringsAsFactors = F)
    head(gene_exp) #gather 宽数据转为长数据gene_exp_tidy <- gather(data = gene_exp, key = "sample_name", value = "expression", -GeneID)
    head(gene_exp_tidy)#spread 长数据转为宽数据gene_exp_tidy2<-spread(data = gene_exp_tidy, key = "sample_name", value = "expression")
    head(gene_exp_tidy2)

    640?wx_fmt=png


    4.2 dplyr包

    dplyr包五个函数用法:
    筛选: filter
    排列: arrange()
    选择: select()
    变形: mutate()
    汇总: summarise()
    分组: group_by()

    library(tidyr)
    library(dplyr)
    gene_exp <- read.table("geneExp.csv",header=T,sep=",",stringsAsFactors = F)
    gene_exp_tidy <- gather(data = gene_exp, key = "sample_name", value = "expression", -GeneID)#arrange 数据排列gene_exp_GeneID <- arrange(gene_exp_tidy, GeneID)#降序加deschead(gene_exp_GeneID )#filter 数据按条件筛选gene_exp_fiter <- filter(gene_exp_GeneID ,expression>10)
    head(gene_exp_fiter)#select 选择对应的列gene_exp_select <- select(gene_exp_fiter ,sample_name,expression)
    head(gene_exp_select)

    640?wx_fmt=png


    5. 绘图

    640?wx_fmt=png


    5.1 长数据与宽数据

    640?wx_fmt=png

    library(tidyr)
    library(ggplot2)#基础绘图file <- read.table("geneExp.csv",header=T,sep=",",stringsAsFactors = F,row.names = 1)#宽数据file
    barplot(as.matrix(file),names.arg = colnames(file), beside =T ,col=terrain.colors(6))
    legend("topleft",legend = rownames(file),fill = terrain.colors(6))#ggplot2绘图gene_exp <- read.table("geneExp.csv",header=T,sep=",",stringsAsFactors = F)
    gene_exp_tidy <- gather(data = gene_exp, key = "sample_name", value = "expression", -GeneID)#长数据head(gene_exp_tidy)
    ggplot(gene_exp_tidy,aes(x=sample_name,y=expression,fill=GeneID)) + geom_bar(stat='identity',position='dodge')

    640?wx_fmt=png


    5.2 图形参数位置

    640?wx_fmt=png

    x <- rnorm(20, 2, 1)
    y <- rnorm(20, 4, 2)
    plot(x, y, cex=c(1:3), type="p", pch=19, col = "blue",
         cex.axis=1.5, col.axis="darkgreen", font.axis=2,
         main="这是主标题:plot初试", font.main=2, cex.main=2, col.main="green",
         sub="这是副标题:图1", font.sub=3, cex.sub=1.5, col.sub="red",
         xlab="这是x轴标签", ylab="这是y轴标签",cex.lab=1.5, font.lab=2, col.lab="grey20",
         xlim=c(0,3), ylim=c(0,7))
    abline(h=2, v=3, lty=1:2, lwd=2,col="red")
    legend("topright", legend="我是图例\n我在这儿",
          text.col="red", text.width=0.5)#Rnorm正态分布 个数 平均值 标准差 plot是泛型函数,根据输入类型的不同而变化#Type p 代表点 l 代表线 b 代表两者叠加

    640?wx_fmt=png

    • 图形参数:
      符号和线条:pch、cex、lty、lwd
      颜色:col、col.axis、col.lab、col.main、col.sub、fg、bg
      文本属性:cex、cex.axis、cex.lab、cex.main、cex.sub、font、font.axis、font.lab、font.main、font.sub

    • 文本添加、坐标轴的自定义和图例
      title()、main、sub、xlab、ylab、text()
      axis()、abline()
      legend()

    • 多图绘制时候,可使用par()设置默认的图形参数
      par(lwd=2, cex=1.5)

    • 图形参数设置:
      par(optionname=value,…)
      par(pin=c(width,height)) 图形尺寸
      par(mfrow=c(nr,nc)) 图形组合,一页多图
      layout(mat) 图形组合,一页多图
      par(mar=c(bottom,left,top,right)) 边界尺寸
      par(fig=c(x1,x2,y1,y2),new=TURE) 多图叠加或排布成一幅图

    #图形组合:attach(mtcars)
    opar <- par(no.readonly=TRUE) #复制当前图形参数设置par(mfrow=c(2,2))#设置图形参数#layout(matrix(c(1,2,2,3),2,2,byrow=TRUE))plot(wt,mpg,main="Scatterplot of wt vs mpg")
    hist(wt,main="Histogram of wt")
    boxplot(wt,main="Boxplot of wt")
    par(opar) #返回原始图形参数detach(mtcars)

    640?wx_fmt=png

    5.3 柱形图

    file <- read.table("barData.csv",header=T,row.names=1,sep=",",stringsAsFactors = F)
    dataxx <- as.matrix(file) #转化为矩阵cols <- terrain.colors(3) #抽取颜色#误差线函数plot.error <- function(x, y, sd, len = 1, col = "black") {
      len <- len * 0.05
        arrows(x0 = x, y0 = y, x1 = x, y1 = y - sd, col = col, angle = 90, length = len)
        arrows(x0 = x, y0 = y, x1 = x, y1 = y + sd, col = col, angle = 90, length = len) 
    } 
    x <- barplot(dataxx, offset = 0, ylim=c(0, max(dataxx) * 1.1),axis.lty = 1, names.arg = colnames(dataxx), col = cols, beside = TRUE) 
    box() 
    legend("topright", legend = rownames(dataxx), fill = cols, box.col = "transparent") 
    title(main = "An example of barplot", xlab = "Sample", ylab = "Value") 
    sd <- dataxx * 0.1 for (i in 1:3) {
      plot.error(x[i, ], dataxx[i, ], sd = sd[i, ])
    }

    640?wx_fmt=png

    5.4 二元图

    640?wx_fmt=png

    matdata <- read.table("plot_observed_species.xls", header=T)
    tbl_df(matdata) #查看数据属性和结构y<-matdata[,2:145]
    attach(matdata)
    matplot(series,y, 
            ylab="Observed Species Number",xlab="Sequences Number",
            lty=1,lwd=2,type="l",col=1:145,cex.lab=1.2,cex.axis=0.8)
    legend("topleft",lty=1, lwd=2, legend=names(y)[1:8], 
           cex=0.5,col=1:145)
    detach(matdata)

    640?wx_fmt=png

    5.5 饼状图

    relative<-c(0.270617,0.177584,0.194911,0.054685,0.048903,0.033961, 0.031195,0.188143)
    taxon<-c("Sordariales","Pleosporales","Agaricales","Hypocreales",   "Pezizales","Eurotiales","Helotiales","Others")
    ratio<-round(relative*100,2)
    ratio<-paste(ratio,"%",sep="")
    label<-paste(taxon,ratio,sep=" ")
    pie(relative,labels=label, main="ITS1-Sample S1",   radius=1,col=rainbow(length(label)),cex=1.3)
    library(plotrix)
    fan.plot(relative,labels=label,main="Fan plot")
    pie3D(relative,labels=label, height=0.2, theta=pi/4, explode=0.1, col=rainbow(length(label)),  border="black",font=2,radius=1,labelcex=0.9)

    640?wx_fmt=png

    5.6 直方图

    seqlength<-rnorm(1000, 350, 30)hist(seqlength,breaks=100,
         col="red",freq=FALSE, 
         main="Histogram with dengsitycurve",     ylab="Density", xlab="Sequence length")lines(density(seqlength),col="blue4",lwd=2)

    640?wx_fmt=png

    5.7 聚类图

    clu <- read.table("unweighted_unifrac_dm.txt", header=T, row.names=1, sep="\t")
    head(clu)
    dis <- as.dist(clu)
    h <- hclust(dis, method="average")
    plot(h, hang = 0.1, axes = T, frame.plot = F, main="Cluster Dendrogram based on unweighted_unifrac", sub="UPGMA")

    640?wx_fmt=png


    5.8 维恩图

    library(VennDiagram)
    ven<-list(sample1=20:50,  sample2=c(1:30,50:80), sample3=40:90, sample4=c(10:30,70:100))
    venn.diagram(ven, filename='venn.png', cex=1.2, col="black", alpha= 0.50,lwd =1.2, cat.cex=1.4,               fill=c("cornflowerblue", "green", "Gold1","darkorchid1"),  margin=0.15)

    640?wx_fmt=png

    图片输出

    • 直接导出


      640?wx_fmt=png

    • 命令

    pdf(file="file.pdf", width=7, height=10)
    png(file="file.png",width=480,height=480)
    jpeg(file="file.png",width=480,height=480)
    tiff(file="file.png",width=480,height=480)
    
    dev.off()

    参考资料:

    1. R|home https://www.r-project.org

    2. 雪晴网 http://www.xueqing.tv

    3. 统计之都 https://cosx.org

    4. R语言基础入门之一:引言

    https://www.cnblogs.com/wentingtu/archive/2012/03/03/2377969.html

    5. R语言在生态学研究中的应用分析

     http://blog.sciencenet.cn/blog-267448-1058416.html

    6.为什么生态学家要学习Python或者R?

    http://blog.sciencenet.cn/blog-255662-1093799.html

    7. Statistical tools for high-throughput data analysis http://www.sthda.com/french/

    8. why-use-the-r-language

    https://www.burns-stat.com/documents/tutorials/why-use-the-r-language/

    9. Why R? The pros and cons of the R language

    https://www.infoworld.com/article/2940864/application-development/r-programming-language-statistical-data-analysis.html

    10.Why use R? Five reasons

    https://www.r-bloggers.com/why-use-r-five-reasons/

    展开全文
  • R语言与数据分析【第一季】

    万人学习 2018-10-22 21:38:02
    当今计算机系统要处理的数据类型变得多种多样,并且为了深入理解,需要对...随着时代的发展,R语言也在不断的衍变,并成为了当前很多大数据应用当中的一个环节。 大数据时代,R 语言已蓄势待发,各位学员,let's go!
  • 一、R包的安装(3种方式) 1 在R中直接输入代码在CRAN上查找安装 install.packages("package name") 多个包可以用c()来列出多个包的名字 install.packages(c("package 1","package 2"...

    一、R包的安装(3种方式)

    1 在R中直接输入代码在CRAN上查找安装

    install.packages("package name")
    

    多个包可以用c()来列出多个包的名字

    install.packages(c("package 1","package 2",···))
    

    2 从CRAN、Bioconductors或其他网站上下载R包的压缩文件后使用命令

    install.packages("E:/vegan.rar")  #需要绝对路径
    

    3 Rstudio中在菜单栏Tools-Install Packages中查找安装

    Install from下拉菜单可以选择是从CRAN还是本地安装包安装

    二、包的管理和使用

    1 加载包

    library(package name)
    

    require(package name)
    

    2 查看R包

    ①查看默认加载的R包

    getOption("defaultPackages")
    

    ②查看已加载的R包

    (.packages())

    ③查看所有已安装的R包

    (.packages(all.available = T))

    installed.packages()

    3、卸载包

    卸载需要指定在哪个库中,因此参数加上库名,如".Library"

    remove.packages(“package name”,.Library)

    展开全文
  • 常用R语言包介绍

    万次阅读 2018-07-13 15:50:55
    r与python差异比较大的一个地方就是,python的机器学习算法集中程度比较高,比如sklearn,就集成了很多的算法,而R语言更多时候需要一个包一个包去了解,比较费时费力,对于python转过来的朋友非常不友好,抽空整理...

    r与python差异比较大的一个地方就是,python的机器学习算法集中程度比较高,比如sklearn,就集成了很多的算法,而R语言更多时候需要一个包一个包去了解,比较费时费力,对于python转过来的朋友非常不友好,抽空整理了工作中常用的R包如下:


    常用检验函数:

    基本上分布中常见的都罗列了:


    常用作图函数包:

    ggplot2:万能,基本上excel能画的图它都能画

    rattle:fancyRpartPlot函数,决策树画图函数

    基础包函数:barplot、pie、dotchart、hist、densityplot、boxplot、contour等等

    正态检验:qqplot、qqline、qqnorm


    连续分类回归模型:

    stats包 lm函数,实现多元线性回归;glm函数,实现广义线性回归;nls函数,实现非线性最小二乘回归;knn函数,k最近邻算法

    rpart包 rpart函数,基于CART算法的分类回归树模型

    randomForest包 randomForest函数,基于rpart算法的集成算法

    e1071包 svm函数,支持向量机算法

    kernlab包 ksvm函数,基于核函数的支持向量机

    nnet包 nnet函数,单隐藏层的神经网络算法

    neuralnet包 neuralnet函数,多隐藏层多节点的神经网络算法

    RSNNS包 mlp函数,多层感知器神经网络;rbf函数,基于径向基函数的神经网络


    离散分类回归模型:

    stats包 glm函数,实现Logistic回归,选择logit连接函数

    kknn包 kknn函数,加权的k最近邻算法

    rpart包 rpart函数,基于CART算法的分类回归树模型

    adabag包bagging函数,基于rpart算法的集成算法;boosting函数,基于rpart算法的集成算法

    party包ctree函数,条件分类树算法

    RWeka包OneR函数,一维的学习规则算法;JPip函数,多维的学习规则算法;J48函数,基于C4.5算法的决策树

    C50包C5.0函数,基于C5.0算法的决策树

    e1071包naiveBayes函数,贝叶斯分类器算法

    klaR包NaiveBayes函数,贝叶斯分类器算分

    MASS包lda函数,线性判别分析;qda函数,二次判别分析


    聚类:Nbclust包Nbclust函数可以确定应该聚为几类

    stats包kmeans函数,k均值聚类算法;hclust函数,层次聚类算法

    cluster包pam函数,k中心点聚类算法

    fpc包dbscan函数,密度聚类算法;kmeansruns函数,相比于kmeans函数更加稳定,而且还可以估计聚为几类;pamk函数,相比于pam函数,可以给出参考的聚类个数

    mclust包Mclust函数,期望最大(EM)算法


    关联规则:arules包apriori函数

    Apriori关联规则算法 

    recommenderlab协调过滤

    DRM:重复关联

    ECLAT算法: 采用等价类,RST深度搜索和集合的交集: eclat 


    降维算法:

    psych包prcomp函数、factanal函数


    时序分析:

    ts时序构建函数

    timsac包时序分析

    holtwinter包时序分析

    decomp、tsr、stl成分分解

    zoo 时间序列数据的预处理


    统计及预处理: 

    常用的包 Base R, nlme 

    aov, anova 方差分析

    density 密度分析 

    t.test, prop.test, anova, aov:假设检验

    rootSolve非线性求根

    reshape2数据预处理

    plyr及dplyr数据预处理大杀器


    最后剩下常用的就是读入和写出了:

    RODBC 连接ODBC数据库接口

    jsonlite 读写json文件

    yaml 读写yaml文件

    rmakdown写文档

    knitr自动文档生成


    一般业务中使用比较多的就是上面这些了,当然R里面有很多冷门的包,也很好用滴~



    如果有任何算法、代码疑问都欢迎通过公众号发消息给我哦,已经给你们准备好资料大礼包了

    展开全文
  • R语言-基本算数(一)

    万次阅读 2017-02-11 11:31:42
    基本函数R语言中有许多有趣好用的函数,在此记录下来方便以后查阅。 函数名称 注释 log(1:3) 对于base未指定,默认为自然对数,取以自然对数为底,分别为1,2,3的对数 print(“Hello World!”) 打印 print(“取...
  • R语言导入导出数据的几种方式总结

    万次阅读 2019-01-02 22:12:37
    关于R从不同数据源导入数据的几种方式总结   导出: 对于某一数据集导出文件的方法 导出例子:write.csv(data_1,file = "d:/1111111111.csv") 其中data_1是你的数据集,file是你的存储路径和要存储...
  • R语言—散点图

    万次阅读 2018-03-11 22:00:02
    一.绘制基本散点图如何绘制散点图方法 1)使用plot函数可绘制散点图,运行命令时依次传递给plot()函数一个向量x和一个向量y 2)使用ggplot函数,运行geom_point()函数,分别映射一个变量到x和y heightweight是...
  • R语言入门-安装R和Rstuido软件

    万次阅读 多人点赞 2018-09-15 21:09:12
    Rstudio是编辑、运行R语言的最为理想的工具之一。 1、官网下载R安装包  下载地址为:https://cran.r-project.org 进入链接,如下图所示,在页面顶部提供了三个下载链接,分别对应三种操作系统:Windows、Mac和...
  • R语言-下载安装和基础使用

    万次阅读 2017-10-07 17:17:40
    1.R的介绍 2.R的下载及安装 3.R的基础使用
  • R语言入门1---R语言介绍以及学前注意事项

    万次阅读 多人点赞 2019-10-17 15:09:55
    R语言是从贝尔实验室的S语言演变而来的,基于S语言开发的商业软件Splus,可以方便的编写函数、建立模型,具有良好的扩展性,取得了巨大成功。1995年由新西兰Auckland大学统计系的Robert Gentleman,Ross Ihaka,Bill...
  • R数据分析的基础命令

    2020-09-18 11:00:43
    第一次写博客简单介绍一些自己刚学习的R语言功能基本命令基本的数据类型数据类型的转换运算符代码展示 简单介绍一些自己刚学习的R语言功能 大三新学期学习一些新的R语言编程,首先要介绍一下R语言R语言是一种开源...
  • 利用Rstudio升级R语言版本

    万次阅读 2018-01-24 11:42:51
    install.packages("installr") library(installr) updateR()
  • 在Mac系统上搭建R语言开发环境Rstudio

    万次阅读 2014-12-10 09:38:29
    Rstudio是目前非常流行的R语言开发IDE. 那么,如何在Mac OS X 环境下搭建RStudio开发环境呢? 去往 RStudio 官网下载最新的RStudio : 目前最新版本是 0.98.1091 ,我们下载第二个 For Mac OS X(10.6)+ 完成...
  • R语言笔记(一):R与Rstudio的安装(Windows)

    万次阅读 多人点赞 2016-04-20 20:14:15
    初学R语言,当然少不了这为编程设计的IDE:RStudio R的获取与安装 首先输入网址:cran.r-project.org——获取资源的网址 选择download R for Windows,下载下来安装即可(若是其他系统,按照要求安装即可,这里仅...
  • R语言笔记2(有关于RStudio的代码保存事项)

    万次阅读 多人点赞 2018-09-20 13:51:58
  • Rstudio多个版本R语言环境进行选择

    万次阅读 2016-08-12 15:29:51
    当遇到安装的某个包与机器上的R语言版本不一致时,往往我们需要升级R语言,但是升级后又面临另一个问题,有的包可能在新版本没有完善,这个时候就需要旧版本的R,所以往往我们会在机器上安装多个版本的R环境,至少...
  • Rstudio安装——打开一片空白问题

    万次阅读 2016-06-29 18:12:33
    1、R语言安装指定为64位; 2、R语言Rstudio的安装路径不要有汉字; 3、R语言Rstudio的安装父目录要为同一个。 注意:如果不按照上面的操作,可能会出现Rstudio打不开的问题。
1 2 3 4 5 ... 20
收藏数 632,443
精华内容 252,977
关键字:

r语言