R语言学习

作者: 214b3ff96d82 | 来源:发表于2018-12-25 23:24 被阅读19次

R语言基础入门

良好的R使用习惯
  • R支持中文,但不好!建议用全英文环境
  • R语言具有严格的符号与语法控制,建议使用纯文本编辑工具编写R代码(注意中文符号)。
  • 使用R时,要先设定工作目录(getwd(), setwd())。
  • R可以使用Tab键自动补齐命令行

设置R默认启动项
file.edit('~/.Rprofile')
#bioconductor
options(BioC_mirror="https://mirrors.ustc.edu.cn/bioc/")
#CRAN
options(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/")

R包管理
install.packages("ggplot2")  安装R包
library(ggplot2)  加载R包
update.packages()  将所有的包进行更新

更新R版本
install.packages("installr")
require(installr)
updateR()
R中的数据对象与数据操作
赋值与注释
a = 2  # R中对变量的名字大小写敏感,a与A是不同的
a <- 2
a <- 2
b <- 2
c <- a + b
数据对象
  • 标量
  • 向量
  • 因子
  • 矩阵
  • 数组
  • 列表
  • 数据框

数据对象通常有三个属性:类型、值、变量名称


举例
  1. 标量
a <- 1
a = 3.14
m <- a + b
x <- F
TURE -> y
> y
[1]  TURE
> x
[1]  FALSE
  1. 向量
a <- c(1,2,3,4,5)
b <- c("one","two","three")
c <- c(TURE,FALSE,FALSE,TURE)
# 使用函数rep(), seq(), ":"生成向量
d <- rep(2,times=4)
> d
[1] 2 2 2 2
e <- seq(from=3,to=21,by=3)
> e
[1]  3  6  9 12 15 18 21
f <- c(1:10)
> f
 [1]  1  2  3  4  5  6  7  8  9 10
# 向量提取元素
> a[1]
[1] 1
> a[c(1,5)]
[1] 1 5
> a[1:3]
[1] 1 2 3
> a[a<5]
[1] 1 2 3 4  # 通过判断来提取元素
> a[a>5]
[1]  6  7  8  9 10
> a[-c(1,5)]
[1]  2  3  4  6  7  8  9 10   # 去除向量中的元素
a[5] <- 12
> a
 [1]  1  2  3  4 12  6  7  8  9 10  #替换元素
a <- append(a,12,5)
> a
 [1]  1  2  3  4  5 12  6  7  8  9 10   # 添加元素
  1. 因子
# 因子是一种特殊类型的字符型向量
# 创建一个字符向量或整数向量
# 使用 factor()函数将其转为因子
b <- c("one","two","three")
b <- factor(b)
> b
[1] one   two   three
Levels: one three two
  1. 矩阵
矩阵是一个二维数组
函数matrix()用于创建矩阵
y <- matrix(1:20,nrow=5,ncol=4)
> y
     [,1] [,2] [,3] [,4]
[1,]    1    6   11   16
[2,]    2    7   12   17
[3,]    3    8   13   18
[4,]    4    9   14   19
[5,]    5   10   15   20
y <- matrix(1:20,nrow=5,ncol=4,byrow = T)
> y
     [,1] [,2] [,3] [,4]
[1,]    1    2    3    4
[2,]    5    6    7    8
[3,]    9   10   11   12
[4,]   13   14   15   16
[5,]   17   18   19   20
  1. 数据框
patientID <- c(1:4)
age <- c(25,34,28,52)
status <- c("poor","improved","poor","good")
patientDate <- data.frame(patientID,age,status)
> patientDate
  patientID age   status
1         1  25     poor
2         2  34 improved
3         3  28     poor
4         4  52     good
> NCBIdata
   Year BasePairs
1  1991      1100
2  1992      1200
3  1993      1300
4  1994      1400
5  1995      1500
6  1996      1600
7  1997      1700
8  1998      1800
9  1999      1900
10 2000      2000

# 按照条件提取
> NCBIdata[NCBIdata$Year>1998,]
   Year BasePairs
9  1999      1900
10 2000      2000
 NCBIdata[NCBIdata$Year>1990 & NCBIdata$BasePairs>1700,]
   Year BasePairs
8  1998      1800
9  1999      1900
10 2000      2000
> NCBIdata[,c("Year")]
 [1] 1991 1992 1993 1994 1995 1996
 [7] 1997 1998 1999 2000

  1. 列表
rec <- list(name="LiMing",age=18,scores=c(85,76,90))

> rec
$`name`
[1] "LiMing"

$age
[1] 18

$scores
[1] 85 76 90
R中的基础函数及编程

函数形式: 函数(输入数据,参数=)
平均值: mean(x,trim=0,na.rm =FALSE,...)
线性模型: lm(y~x,data=test)

R字符数据操作函数
  • 字符合并
>paste("abc","bc")
[1] "abc bc"
>paste("abc","bc",sep="")
[1] "abcbc"
  • 字符取长度
>nchar("abcccc")
[1] 6
  • 字符取子集
> substr("abcdef",2,3)
[1] "bc"
> substring("abcdef", 3)
[1] "cdef"
substring("abcdef", 1:6, 1:6)
[1] "a" "b" "c" "d" "e" "f"
> substr(rep("abcdef", 4), 1:4, 4:5)
[1] "abcd" "bcde" "cd"   "de"  
编程基础

函数名 <- function (数据,参数1=默认值,...)
{
异常处理;
表达式(循环/判别);
return(返回值);
}

输入直角三角形的两个边,求斜边长
rcal <- function(x,y){
      z <- x^2 + y^2
      result <- sqrt(z)
      return(result)
}

rcal(3,4)
流程控制 if

if (条件)表达式,或if (条件)表达式1 else 表达式2

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

x = 3
y <- if (x==2) x else x+1
条件与逻辑运算
  • 判断相等 x==y
  • 判断小于等于 x<=y
  • 判断大于等于 x>=y
  • 逻辑“与”运算 x && y
  • 逻辑“或”运算 x || y
  • 逻辑“非”运算 !x
  • 向量的逻辑“与” x & y
  • 向量的逻辑“或” x | y
循环 for,while
for (i in 1:10)  print (i)
a <- 0
for (i in 1:10){
      a <- a+1
}
> a
[1] 10

i <- 1
while (i <10) { print (i); i <- i + 1}

数据的输入与输出
read.table()
read.csv()
write.table()
write.csv()

相关文章

  • day5 阿来

    继续学习R语言 R语言数据学习 数据R语言学习.png 数据输入 数据输出 总结 R语言学习的第二天,熟悉了很多操...

  • R语言-0基础学习4-实战1-常见操作

    R语言学习系列R语言-0基础学习1-数据结构R语言-0基础学习2-构建子集R语言-0基础学习3-循环排序信息处理函...

  • 学习小组Day4笔记--行

    正式开始学习R语言了,今天笔记内容为R语言基础和ggplot2的入门学习 R语言基础 1、认识R与RStudio ...

  • 生信学习小组Day5笔记-lamyusam_

    R语言学习 今天,了解了R中的数据类型,初步学习R语言的数据结构。 R的数据类型 向量(vector) R语言中的...

  • R 语言--日期值的输入

    学习R语言,很多人都推荐使用图灵程序设计丛书中的"R in Action"-《R语言实战》作为R语言学习的入门书籍...

  • Day4-蒙蒙帮主-初尝R语言,有酸也有甜~

    今天的学习任务是R语言!今天的学习任务是R语言!今天的学习任务是R语言!OK?开始!嗯,大蒙蒙的原则,当我实在不想...

  • Day4 学习小组--张小张

    今天是 R 语言基础的学习 了解R与Rstudio R 语言是一款统计软件; R 语言也是一门编程语言,语言也是一...

  • 学习小组Day4笔记--扬马延

    R语言学习 1. R以及R studio安装 直接搜索R语言网页可直接安装 2. R语言入门 参考书目《R for...

  • 2020-05-14

    学习小组DAY4笔记-lyq 今天初探R语言 R语言安装 R语言面板在简单了解

  • 《学习小组Day4笔记--寒鹤》

    R语言基础 今天的课程内容是R语言基础,包括R及Rstudio的安装,R语言的一些基本操作等。因之前已学习过R语言...

网友评论

    本文标题:R语言学习

    本文链接:https://www.haomeiwen.com/subject/elkykqtx.html