基本信息

下载与安装

点击查看【bilibili】

基本界面认识

首先在右上角File处新建文件夹:
image.png
界面认识如下:
image.png

一些操作技巧

  • Ctrl+Shift+C:注释快捷键,可以添加/消除注释,也可多行注释
  • Ctrl + Shift + Enter: 执行整个文件
  • Ctrl+Enter: 运行当前/被选中的代码
  • Ctrl+L: 清空命令行(控制台)
  • Ctrl± :缩小界面
  • alt + -:快速打出赋值符号**<-**

    所谓赋值符号就类似于其他语言里面的=

参照:
R Studio操作技巧笔记_Smilecoc的博客-CSDN博客_rstudio清空命令行

输出和注释

  1. print("hello world") # 这是一条输出的注释

基础变量赋值

  1. x<-1 # 此时x等于1

数据类型

  1. # 小数赋值
  2. var1 <- 3.14
  3. # 整数赋值
  4. var2 <- 88L # 这里没有L也可以
  5. # 文本赋值
  6. var3 <- "hello"

使用 L 表示法可以确保R语言将值用作整数,这比数值占用的内存空间少,因为数值也可以有小数点。

转义字符

  1. message = "使用反斜杠来\"转义\""
  2. print(message) # "使用反斜杠来\"转义\""
  3. cat(message) # 使用反斜杠来"转义"

print的输出是原样输出,包括双引号。
cat的输出会对原字符串进行解析。

算数运算

  1. x <- 11
  2. y <- 4
  3. # 加法
  4. print(x + y)
  5. # 减法
  6. print(x - y)
  7. # 乘法
  8. print(x * y)
  9. # 除法
  10. print(x / y)
  11. # 求幂(指数)
  12. print(x ^ y)
  13. print(x ** y)
  14. # 取模(取余)
  15. print(x %% y)
  16. # 取商
  17. print(x %/% y)

条件运算

if - else

  1. num <- 3
  2. if(num == 1){
  3. print( "one " )
  4. }else if(num == 2){
  5. print("Two" )
  6. }else if (num == 3){
  7. print( "Three" )
  8. }else {
  9. print( "Something else" )}

switch

  1. x <- "c"
  2. result <- switch(
  3. x,
  4. "a" = "one",
  5. "b" ="Two",
  6. "c" = "Three",
  7. "d" = "Four"
  8. )
  9. print(result) # Three

逻辑运算符

|:或
&:与

循环

while

  1. i <- 1
  2. while (i < 10){
  3. print(i)
  4. i <- i + 1
  5. }

for

  1. for (x in 1:10){
  2. print(x)
  3. }

break and next

break等同于break
next等同于continue
不解释了,想必都会用。

向量

基本操作

赋值

  1. x <- c(1,2,3,4)

向量赋值的时候一定要用c开头,括号内是向量的值。

如果向量有序,还要快速赋值的方法:

根据索引获取值

  1. x <- c(1,2,3,4)
  2. print(x[1]) # 1

注意R语言的索引不是从**0**开始的,而是从**1**开始的。

常用函数

  1. x<-c(1,7,9,4,9,12,0.9,1.2)
  2. length(x) # 获取长度 8
  3. sum(x) # 获取向量之和 44.1
  4. min(x) # 获取向量最小值 0.9
  5. max(x) # 获取向量最大值 12
  6. mean(x) # 获取向量的平均值 5.5125
  7. order(x) # 获取向量排序后 原索引的排序 7 1 8 4 2 3 5 6
  8. rank(x) # 原序列在排序当中的下标 2.0 5.0 6.5 4.0 6.5 8.0 1.0 3.0
  9. cumsum(x) # 前n项和 1.0 8.0 17.0 21.0 30.0 42.0 42.9 44.1

这里重点解释一下order函数:获取向量排序后原索引的排序。
第一章:语言基础 - 图3
所以如果想要获得排序后的x向量,可以使用如下函数:

  1. x[order(x)] # 0.9 1.0 1.2 4.0 7.0 9.0 9.0 12.0
  2. sort(x) # 0.9 1.0 1.2 4.0 7.0 9.0 9.0 12.0

矩阵

基本操作

赋值

  1. X <- matrix(c(1,2,3,4,5,6),nrow = 2,ncol = 3)
  2. # 参数可以省略
  3. X <- matrix(c(1,2,3,4,5,6),2,3)
  4. # 也可以只写一个参数,默认为行数,列数会自动结算
  5. X <- matrix(c(1,2,3,4,5,6),2)
  1. 解析一下参数:<br />第一个参数是向量,第二个参数是**行数**,第三个参数是**列数**。<br />输出如下:
  1. [,1] [,2] [,3]
  2. [1,] 1 3 5
  3. [2,] 2 4 6

可以看到默认是按照列排序的,如果想要按照行排序

  1. m<-matrix(c(1,2,3,4),2,2,byrow = TRUE)

根据索引获取值

  1. X[1,1] # 1
  2. X[,1] # 1 2
  3. X[,-1]
  4. # [,1] [,2]
  5. # [1,] 3 5
  6. # [2,] 4 6

如果没有填入具体的值,就表示获取所有的行/列 例如这里的[,1]就表示获取第一列的所有行。 如果值为-x,表示去除第x行/列剩下的矩阵

常用函数

apply

  1. m<-matrix(c(1,2,3,4),2,2,byrow = TRUE)
  2. apply(m,1,sum)
  3. apply(m,2,min)
  1. 参数解析:<br />第一个参数是矩阵;<br />第二个参数,`1`表示按照**行**,`2`表示按照**列**;<br />第三个参数为统一调用的函数;<br />m的输出如下:
  1. [,1] [,2]
  2. [1,] 1 2
  3. [2,] 3 4

所以apply(m,1,sum)表示对m矩阵按行求和

  1. # 3 7

所以apply(m,2,min)表示对m矩阵按列求最小值

  1. # 1 2

dim

  1. m<-matrix(c(1,2,3,4),2,2,byrow = TRUE)
  2. dim(m) # 2 2
  1. dim函数主要用户获取矩阵的规格,两个数字分别代表**行数**和**列数**。

重命名函数

  1. m<-matrix(c(1,2,3,4),2,2,byrow = TRUE)
  2. rownames(m)<-c("第一行","第二行")
  3. colnames(m)<-c("第一列","第二列")
  1. 输出矩阵m如下:
  1. 第一列 第二列
  2. 第一行 1 2
  3. 第二行 3 4

转置与逆矩阵

  1. m<-matrix(c(1,2,3,4),2,2,byrow = TRUE)
  2. t(m) # 转置矩阵
  3. solve(m) # 求解矩阵,没有其余参数则求解为逆矩阵
  1. t函数用于对矩阵进行转置
  1. > t(m)
  2. 第一行 第二行
  3. 第一列 1 3
  4. 第二列 2 4
  5. > solve(m)
  6. 第一行 第二行
  7. 第一列 -2.0 1.0
  8. 第二列 1.5 -0.5

solve

solve用于求解a*x = b的情况,这里的a``b可以是实数,也可以是矩阵和向量:

  1. A<-matrix(c(2,1,1,1,2,1,1,1,2,3,4,1),3)
  2. b<-c(7,8,9)
  3. x1<-solve(A,b)

输出结果为:

  1. > x1
  2. [1] 1 2 3
  1. 说明`A * x1 = b`

prop.table()

这个函数可以把数值转换为百分比:

  1. m<-matrix(c(1,2,3,4),2,2,byrow = TRUE)
  2. prop.table(m)
  1. 输出结果如下:
  1. 第一列 第二列
  2. 第一行 0.1 0.2
  3. 第二行 0.3 0.4