[R]第一节 初始R语言

349 阅读5分钟

R语言的特点

  1. 有效的数据处理和保存机制
  2. 完整的数组和矩阵计算操作符
  3. 连贯而又完整的数据分析工具
  4. 图形工具直接对数据进行分析和展示
  5. 简介而又高效的程序设计软件
  • R是一个内部实现了许多经典的、时髦 的统计技术的语言环境
  • 部分统计功能整合在R环境的底层,大多数的统计功能则以包(packages)的形式提供
    • 实现某些特定功能/算法(比较新颖)
    • 程序包包含函数、数据、帮助文件以及描述文件
  • R和其他主要的统计系统存在重要的差异
    • R一次统计分析被分解成了一系列步骤,并且所有的中间结果都被保存在了对象
      (object)中

R备受青睐的原因

  1. 免费!!拥有丰富的扩展包,囊括了经济学,生态学,地理学,生物信息学,生物统计学和社会心理学等诸多学科
  2. 多平台,如Windows,MacOS和Linux等
  3. 它是彻底的面向对象的统计编程语言
  4. R与其他编程语言/数据库之间有很好的接口
  5. 其他:更新更加迅速,优秀的制图功能,DIY,GUI

R的官方网站

->R官网

R语言的基本规则

  • 基本命令
    • 表达式(expressions)、赋值(assignments)
    • 如果是表达式,解析(evaluate)后,结果显示在屏幕上,同时清空该命令所占用的内存
      • 1+2

      • [1] 3
  • 如果是赋值,解析表达式并且把值传给变量,但结果不会自动显示在屏幕上
    • x<-8

    • 这里就是给x赋值8
  • R对象的命名只能是数字、字母、“.”“_”
    • R中字母区分大小写
    • Y<-8

    • y<-6

    • Y == y

    • [1] FALSE
  • 必须以“.”或者字母开头
    • .s<-1

    • .1<-1

    • 错误0 .1 <- :(do_set)赋值公式左手不对
  • 命令可以被;隔开,或者另起一行,“#”进行语句的注释
  • 通过大括弧"{}"将基本命令放在一起构成一个复合表达式
system.time(
  {
    sum<-0 #初始化结果值
    for (i in c(1:1000)){
      sum<-sum+i;print(i)
    }
    print(sum)
  }
)
  • R每次启动的时候,对应安装软件时默认的工作目录。当数据存储在其他文件夹时,可以进行设定。之后的任何数据读取和保存都在设定的工作目录下进行
  • 设定工作目录
> setwd("D:\GREMMIE") #这里需要两个反斜杠,一个用来转译
> setwd("D:/GREMMIE")

getwd():得到工作目录

source(“1.R”):运行1.R的文件。

也可以把所有输出结果从控制台重新定向到外部文件中

sink("外部文件") #把所有输出结果从控制台重新定向到外部文件当中

  • 让输出流重新定向到控制台
    • sink()

使用帮助

  • 为了得到任何特定名字的函数的帮助,如solve,可以使用如下命令。在大多数R平台中,你可以通过运行下面的命令得到HTML格式的帮助

  • help(solve)

  • ?solve

  • 对于有特殊含义的字符,可以采用逃逸符号:双引号或者单引号(一般适用于有语法含义的关键字和有特殊含义的字符,如if,for,function等)

  • help("[[")

  • ?"*"

  • help.start()

保存,删除对象

  • R创建控制的实体称为对象
    • 向量
    • 矩阵
    • 数组
    • 数据框
    • 列表
    • 因子
    • 函数
    • 通过以上实体定义的更为一般性的结构
  • 罗列所有对象
    • ls()

    • objects()

  • 删除对象x,y,z
    • rm(x,y,z)
  • 删除所有对象
    • rm(list=ls())

  • 当前会话中的所有对象可以永久得保存在文件中,以便于以后的后续调用
    • 所有对象写入到.RData文件中
    • 所有命令保存在.Rhistory文件中
  • 当R再次启动时,可以导入对象和命令
  • 将对象x保存到硬盘
    • save(x,file="yourname")

  • 将当前空间下所有对象保存到硬盘
    • save.image(file="yourname") #在这之前要重新设置工作目录,即用setwd(D:/...)

  • 载入保存的镜像
    • load(file="yourname")

R包

  • 包是R函数,数据,预编译代码组成的实现某一功能的集合
  • 库(library):存储R包的目录
    • 查看库中已经有的R包:library()
  • 安装包
    • install.packages("gclus") #CRAN镜像网络下载

  • 载入包
    • library(gclus) #库中存在该包才能载入;载入之后可以使用包中的函数或者数据集

  • GUI下安装包
  • 在官方网站中可以找各种包,可以按照类型来找,也可以按照日期来找,也可以直接搜。
    • 也有源码包,是压缩文件形式的,需要编译
    • 也有Windows下的zip形式的文件,下载很快,可以直接在R中library使用。
      • 打开insatll package窗口

基本运算

  • 算术运算
    • 加减乘除 幂^
    • 数学函数:sqrt() log() log10() exp() abs() sin() cos() tan()
  • 关系运算
    • 小于< 小于等于 <= 大于>
  • 逻辑运算
    • 与& 或| 非!
  • 1+(2>1)结果为2,因为关系运算得出的结果TRUE为1,FALSE为0

  • 2+3 | !(3>5)结果为TRUE,因为2+3是5,不为0,所以为TRUE。

  • 对于&来说,如果左边是FALSE的话,就不会再去判断右边的内容,表达式的值直接就是FALSE

变量赋值

最新版的R语言赋值可以使用左箭头<- 等号= 右箭头->赋值

# 使用等号=赋值
> var.1 = c(0,1,2,3)
> print(var.1)
[1] 0 1 2 3

# 使用左箭头和右箭头赋值
略

> c(TRUE,1) -> var.3
> print(var.3)
[1] 1 1

查看已定义的变量可以使用ls()函数

> print(ls())
[1] "var.1" "var.2" "var.3"

删除变量可以使用rm()函数

> rm(var.3)
> print(ls())
[1] "var.1" "var.2"

交互式编程

我们只需要在命令行中执行R命令就可以进入交互式的编程窗口

R

执行完这个命令后会调出R语