该篇文章主要演示R语言中的基本数据操作方法,建议收藏!
文章包括:数据读取;数据基本的四则运算;向量操作及运算;矩阵操作及运算;数据框操作等方法。
1 数据读取
运行程序:
data<- read.csv ( "G:\\Fonts\\Book1.csv") head(data)
运行结果:
## X1 X2 ## 1 2 5 ## 2 2 2 ## 3 3 7 ## 4 4 0 ## 5 4 2
2 写数据
运行程序:
data1<-data.frame(1,2,2) fix(data1) #直接写入 data2<-read.table("clipboard", header = T,sep = '\t') head(data2) #通过粘贴板内容写入
运行结果:
## X119.367781 X25.99242 ## 1 119.3678 25.99242 ## 2 119.3678 25.99242 ## 3 119.3678 25.99242 ## 4 119.3678 25.99242 ## 5 119.3678 25.99242
3 数据的四则运算
3.1 加法
运行程序:
a1=20 a2=4 a1+a2 #加法
运行结果:
## [1] 24
3.2 减法
运行程序:
a1-a2 #减法
运行结果:
## [1] 16
3.3 乘法
运行程序:
a1*a2 #乘法
运行结果:
## [1] 80
3.4 除法
运行程序:
a1/a2 #除法
运行结果:
## [1] 5
3.5 综合算法
运行程序:
(3+5/4)**2-6 #综合算法
运行结果:
## [1] 12.0625
3.6 余数
运行程序:
5%%2 #余数
运行结果:
## [1] 1
3.7 整除
运行程序:
5%/%2 #整除
运行结果:
## [1] 2
3.8 整除
运行程序:
abs(-3) #绝对值
运行结果:
## [1] 3
3.9 判断正负
运行程序:
sign(3) #判断正负
运行结果:
## [1] 1
3.10 幂指数
运行程序:
3^2 #幂指数
运行结果:
## [1] 9
3.11 平方根
运行程序:
sqrt(4) #平方根
运行结果:
## [1] 2
4 向量
4.1 普通向量
运行程序:
## [1] 5 3 4 2
运行结果:
## [1] 2
4.2 逻辑向量
运行程序:
y<-c(TRUE,FALSE,TRUE);y #逻辑向量
运行结果:
## [1] TRUE FALSE TRUE
4.3 向量填充
运行程序:
numeric(5) #填充5个0向量
运行结果:
## [1] 0 0 0 0 0
5 向量的运算
5.1 加法
运行程序:
a1<-c(12,18,32,24) a2<-c(3,6,2,4) a1+a2 #加法
运行结果:
## [1] 15 24 34 28
5.2 减法
运行程序:
a1-a2 #减法
运行结果:
## [1] 9 12 30 20
5.3 乘法
运行程序:
a1*a2 #乘法
运行结果:
## [1] 36 108 64 96
5.4 除法
运行程序:
a1/a2 #除法
运行结果:
## [1] 4 3 16 6
5.5 内积
运行程序:
a1%*%a1 #内积
运行结果:
## [,1] ## [1,] 2068
5.6 外积
运行程序:
a1%o%a2 #外积
运行结果:
## [,1] [,2] [,3] [,4] ## [1,] 36 72 24 48 ## [2,] 54 108 36 72 ## [3,] 96 192 64 128 ## [4,] 72 144 48 96
6 矩阵
6.1 普通矩阵
运行程序:
A<-matrix(1:12,ncol=4,nrow=3,byrow=TRUE); A #普通矩阵
运行结果:
## [,1] [,2] [,3] [,4] ## [1,] 1 2 3 4 ## [2,] 5 6 7 8 ## [3,] 9 10 11 12
6.2 转置矩阵
运行程序:
t(A) #转置矩阵
运行结果:
## [,1] [,2] [,3] ## [1,] 1 5 9 ## [2,] 2 6 10 ## [3,] 3 7 11 ## [4,] 4 8 12
6.3 子矩阵
运行程序:
A[1:2,c(1,2,3)] #子矩阵
运行结果:
## [,1] [,2] [,3] ## [1,] 1 2 3 ## [2,] 5 6 7
6.5 对角矩阵
运行程序:
C=matrix(1:9,nrow = 3,ncol = 3,byrow = T);diag(C) diag(c(1:3))
运行结果:
## [,1] [,2] [,3] ## [1,] 1 0 0 ## [2,] 0 2 0 ## [3,] 0 0 3
6.6 单位矩阵
运行程序:
diag(3) #单位矩阵
运行结果:
## [,1] [,2] [,3] ## [1,] 1 0 0 ## [2,] 0 1 0 ## [3,] 0 0 1
7 矩阵运算
7.1 矩阵加法
运行程序:
A<-matrix(1:9,ncol=3,nrow=3,byrow=TRUE) B<-matrix(4:12,ncol=3,nrow=3,byrow=TRUE) A+B #矩阵加法
运行结果:
## [,1] [,2] [,3] ## [1,] 5 7 9 ## [2,] 11 13 15 ## [3,] 17 19 21
7.2 矩阵减法
运行程序:
A-B #矩阵减法
运行结果:
## [,1] [,2] [,3] ## [1,] -3 -3 -3 ## [2,] -3 -3 -3 ## [3,] -3 -3 -3
7.3 矩阵除法
运行程序:
A/B #矩阵除法
运行结果:
## [,1] [,2] [,3] ## [1,] 0.2500000 0.4000000 0.5000000 ## [2,] 0.5714286 0.6250000 0.6666667 ## [3,] 0.7000000 0.7272727 0.7500000
7.4 矩阵乘法
运行程序:
A*B #矩阵乘法
运行结果:
## [,1] [,2] [,3] ## [1,] 4 10 18 ## [2,] 28 40 54 ## [3,] 70 88 108
7.5 两矩阵相乘
运行程序:
A%*%B #矩阵A乘以矩阵B
运行结果:
## [,1] [,2] [,3] ## [1,] 48 54 60 ## [2,] 111 126 141 ## [3,] 174 198 222
8 数据框
8.1 数据框创建
运行程序:
d=data.frame(name=c("小李","小张","小民"),age=c(18,19,16),height=c(175,172,177));d
运行结果:
## name age height ## 1 小李 18 175 ## 2 小张 19 172 ## 3 小民 16 177
8.2 数据框取数
运行程序:
d[1,2]
运行结果:
## [1] 18