基本信息
下载与安装
基本界面认识
一些操作技巧
Ctrl+Shift+C:注释快捷键,可以添加/消除注释,也可多行注释Ctrl + Shift + Enter: 执行整个文件Ctrl+Enter: 运行当前/被选中的代码Ctrl+L: 清空命令行(控制台)Ctrl±:缩小界面alt + -:快速打出赋值符号**<-**所谓赋值符号就类似于其他语言里面的
=。
参照:
R Studio操作技巧笔记_Smilecoc的博客-CSDN博客_rstudio清空命令行
输出和注释
print("hello world") # 这是一条输出的注释
基础变量赋值
x<-1 # 此时x等于1
数据类型
# 小数赋值var1 <- 3.14# 整数赋值var2 <- 88L # 这里没有L也可以# 文本赋值var3 <- "hello"
使用 L 表示法可以确保R语言将值用作整数,这比数值占用的内存空间少,因为数值也可以有小数点。
转义字符
message = "使用反斜杠来\"转义\""print(message) # "使用反斜杠来\"转义\""cat(message) # 使用反斜杠来"转义"
print的输出是原样输出,包括双引号。
cat的输出会对原字符串进行解析。
算数运算
x <- 11y <- 4# 加法print(x + y)# 减法print(x - y)# 乘法print(x * y)# 除法print(x / y)# 求幂(指数)print(x ^ y)print(x ** y)# 取模(取余)print(x %% y)# 取商print(x %/% y)
条件运算
if - else
num <- 3if(num == 1){print( "one " )}else if(num == 2){print("Two" )}else if (num == 3){print( "Three" )}else {print( "Something else" )}
switch
x <- "c"result <- switch(x,"a" = "one","b" ="Two","c" = "Three","d" = "Four")print(result) # Three
逻辑运算符
循环
while
i <- 1while (i < 10){print(i)i <- i + 1}
for
for (x in 1:10){print(x)}
break and next
break等同于break
next等同于continue
不解释了,想必都会用。
向量
基本操作
赋值
x <- c(1,2,3,4)
向量赋值的时候一定要用c开头,括号内是向量的值。
根据索引获取值
x <- c(1,2,3,4)print(x[1]) # 1
注意R语言的索引不是从
**0**开始的,而是从**1**开始的。
常用函数
x<-c(1,7,9,4,9,12,0.9,1.2)length(x) # 获取长度 8sum(x) # 获取向量之和 44.1min(x) # 获取向量最小值 0.9max(x) # 获取向量最大值 12mean(x) # 获取向量的平均值 5.5125order(x) # 获取向量排序后 原索引的排序 7 1 8 4 2 3 5 6rank(x) # 原序列在排序当中的下标 2.0 5.0 6.5 4.0 6.5 8.0 1.0 3.0cumsum(x) # 前n项和 1.0 8.0 17.0 21.0 30.0 42.0 42.9 44.1
这里重点解释一下order函数:获取向量排序后原索引的排序。
所以如果想要获得排序后的x向量,可以使用如下函数:
x[order(x)] # 0.9 1.0 1.2 4.0 7.0 9.0 9.0 12.0sort(x) # 0.9 1.0 1.2 4.0 7.0 9.0 9.0 12.0
矩阵
基本操作
赋值
X <- matrix(c(1,2,3,4,5,6),nrow = 2,ncol = 3)# 参数可以省略X <- matrix(c(1,2,3,4,5,6),2,3)# 也可以只写一个参数,默认为行数,列数会自动结算X <- matrix(c(1,2,3,4,5,6),2)
解析一下参数:<br />第一个参数是向量,第二个参数是**行数**,第三个参数是**列数**。<br />输出如下:
[,1] [,2] [,3][1,] 1 3 5[2,] 2 4 6
可以看到默认是按照列排序的,如果想要按照行排序:
m<-matrix(c(1,2,3,4),2,2,byrow = TRUE)
根据索引获取值
X[1,1] # 1X[,1] # 1 2X[,-1]# [,1] [,2]# [1,] 3 5# [2,] 4 6
如果没有填入具体的值,就表示获取所有的
行/列例如这里的[,1]就表示获取第一列的所有行。 如果值为-x,表示去除第x行/列剩下的矩阵
常用函数
apply
m<-matrix(c(1,2,3,4),2,2,byrow = TRUE)apply(m,1,sum)apply(m,2,min)
参数解析:<br />第一个参数是矩阵;<br />第二个参数,`1`表示按照**行**,`2`表示按照**列**;<br />第三个参数为统一调用的函数;<br />m的输出如下:
[,1] [,2][1,] 1 2[2,] 3 4
所以apply(m,1,sum)表示对m矩阵按行求和:
# 3 7
所以apply(m,2,min)表示对m矩阵按列求最小值:
# 1 2
dim
m<-matrix(c(1,2,3,4),2,2,byrow = TRUE)dim(m) # 2 2
dim函数主要用户获取矩阵的规格,两个数字分别代表**行数**和**列数**。
重命名函数
m<-matrix(c(1,2,3,4),2,2,byrow = TRUE)rownames(m)<-c("第一行","第二行")colnames(m)<-c("第一列","第二列")
输出矩阵m如下:
第一列 第二列第一行 1 2第二行 3 4
转置与逆矩阵
m<-matrix(c(1,2,3,4),2,2,byrow = TRUE)t(m) # 转置矩阵solve(m) # 求解矩阵,没有其余参数则求解为逆矩阵
t函数用于对矩阵进行转置
> t(m)第一行 第二行第一列 1 3第二列 2 4> solve(m)第一行 第二行第一列 -2.0 1.0第二列 1.5 -0.5
solve
solve用于求解a*x = b的情况,这里的a``b可以是实数,也可以是矩阵和向量:
A<-matrix(c(2,1,1,1,2,1,1,1,2,3,4,1),3)b<-c(7,8,9)x1<-solve(A,b)
输出结果为:
> x1[1] 1 2 3
说明`A * x1 = b`。
prop.table()
这个函数可以把数值转换为百分比:
m<-matrix(c(1,2,3,4),2,2,byrow = TRUE)prop.table(m)
输出结果如下:
第一列 第二列第一行 0.1 0.2第二行 0.3 0.4

