基本信息
下载与安装
基本界面认识
一些操作技巧
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 <- 11
y <- 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 <- 3
if(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 <- 1
while (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) # 获取长度 8
sum(x) # 获取向量之和 44.1
min(x) # 获取向量最小值 0.9
max(x) # 获取向量最大值 12
mean(x) # 获取向量的平均值 5.5125
order(x) # 获取向量排序后 原索引的排序 7 1 8 4 2 3 5 6
rank(x) # 原序列在排序当中的下标 2.0 5.0 6.5 4.0 6.5 8.0 1.0 3.0
cumsum(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.0
sort(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] # 1
X[,1] # 1 2
X[,-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