🍉CSDN小墨&晓末:https://blog.csdn.net/jd1813346972
个人介绍: 研一|统计学|干货分享
擅长Python、Matlab、R等主流编程软件
累计十余项国家级比赛奖项,参与研究经费10w、40w级横向
文章目录
- [1 数据读取](#1 数据读取)
- [2 写数据](#2 写数据)
- [3 数据的四则运算](#3 数据的四则运算)
-
- [3.1 加法](#3.1 加法)
- [3.2 减法](#3.2 减法)
- [3.3 乘法](#3.3 乘法)
- [3.4 除法](#3.4 除法)
- [3.5 综合算法](#3.5 综合算法)
- [3.6 余数](#3.6 余数)
- [3.7 整除](#3.7 整除)
- [3.8 整除](#3.8 整除)
- [3.9 判断正负](#3.9 判断正负)
- [3.10 幂指数](#3.10 幂指数)
- [3.11 平方根](#3.11 平方根)
- [4 向量](#4 向量)
-
- [4.1 普通向量](#4.1 普通向量)
- [4.2 逻辑向量](#4.2 逻辑向量)
- [4.3 向量填充](#4.3 向量填充)
- [5 向量的运算](#5 向量的运算)
-
- [5.1 加法](#5.1 加法)
- [5.2 减法](#5.2 减法)
- [5.3 乘法](#5.3 乘法)
- [5.4 除法](#5.4 除法)
- [5.5 内积](#5.5 内积)
- [5.6 外积](#5.6 外积)
- [6 矩阵](#6 矩阵)
-
- [6.1 普通矩阵](#6.1 普通矩阵)
- [6.2 转置矩阵](#6.2 转置矩阵)
- [6.3 子矩阵](#6.3 子矩阵)
- [6.5 对角矩阵](#6.5 对角矩阵)
- [6.6 单位矩阵](#6.6 单位矩阵)
- [7 矩阵运算](#7 矩阵运算)
-
- [7.1 矩阵加法](#7.1 矩阵加法)
- [7.2 矩阵减法](#7.2 矩阵减法)
- [7.3 矩阵除法](#7.3 矩阵除法)
- [7.4 矩阵乘法](#7.4 矩阵乘法)
- [7.5 两矩阵相乘](#7.5 两矩阵相乘)
- [8 数据框](#8 数据框)
-
- [8.1 数据框创建](#8.1 数据框创建)
- [8.2 数据框取数](#8.2 数据框取数)
该篇文章主要演示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