当前位置:网站首页>R language [logic control] [mathematical operation]
R language [logic control] [mathematical operation]
2022-07-07 05:43:00 【桜キャンドル yuan】
Catalog
3、 ... and 、 Mathematical operators
With e The exponential function at the bottom
Four 、 Matrix correlation operations
1. The inner product of a vector
2. The outer product of a vector
3. The transpose of the matrix
4. The addition and subtraction of matrices
5. The multiplication of a matrix
7. Operations related to the diagonal elements of a matrix
9. Eigenvalues and eigenvectors of matrices
10. Matrix Choleskey decompose
12. Extract the dimension of the matrix
13. Row sum of matrix 、 Column sum 、 Row average and column average
5、 ... and 、 Integral operations
6、 ... and 、 Negative number operation
7、 ... and 、 Mathematical functions
8、 ... and 、 Other utility functions
Apply functions to data frames and matrices
One 、 Logical operators
x <- c(3,0,-2,-5,7,2,-1)
y <- c(2,4,-1,0,5,1,-4)
x <= y
compare.xy <- (x<=y)
compare.xy
Strings are compared in character order
a <- c("ann","gretchen","maria","ruth","wendy")
b <- c("bruce","ed","robert","seth","thomas")
a <= b
a >= b
Two 、 Boolean operator
Operator | describe |
!x | Not x |
x|y | x or y |
x&y | x and y |
isTRUE(x) | Judge x Is it true |
We can see from the following test code that if the element of the corresponding position meets the judgment of Boolean operator, it will return TRUE, If not, return to FALSE
x <- c(3,0,-2,-5,7,2,-1)
y <- c(2,4,-1,0,5,1,-4)
(x-y > -2)&(x-y < 2)
x[(x-y> -2)&(x-y < 2)]
(x-y >= -2)|(x-y <= 2)
x[(x-y>-2)&(x-y<2)]
(x-y > -2)
!(x-y > -2)
Index and related contents
x <- c(3,7,5,-2,0,-8)
x[3]
x[1:3]
x[c(2,4,5)]
x[1+3]
i =4
x[i]
x[-2]
x[-c(2,4,5)]
y <- c(2,7,-5,4,-1,6)
(x+y)[1:3]
z <- c("jan","feb","mar","apr","may","jun")
monthly.numbers <- data.frame(x,y,z)
monthly.numbers
3、 ... and 、 Mathematical operators
3+4 # 7
3-4 # -1
3*4 # 12
3/4 # 0.75
3^4 # 81
16**(1/4) # 2
13%%4 # 1
13%/%4 # 3
x <- c(-1,0,1)
exp(x)
y <- c(1,2,3,4)
sqrt(y)
Quadratic function
xlow <- -1
xup <- 2
x <- xlow + (xup-xlow)*(0:100)/100
y <- x^2-x-1
plot(x,y,type="l")
y2 <- numeric(length(x))
# Draw a dot , Respectively by x,y2 The parameters of the corresponding position in the form of coordinate points , The type of line drawn is l, The straight line is a dotted line
#lty Parameters of can also be input 1,2,3 And other parameters to draw different styles of dimension lines
points(x,y2,type="l",lty="dashed")
Trigonometric functions
# Set the upper and lower limits
th.low <- -4*pi
th.up <- 4*pi
theta <- th.low + (th.up-th.low)*(0:1000)/1000
y1 <- sin(theta)
y2 <- cos(theta)
plot(theta,y1,type="l",lty=1,ylim=c(2,-2),xlab="theta",
ylab="sine and cosine")
points(theta,y2,type="l",lty=2)
Polar coordinates
# Set the angle to 0-360 degree
theta <- 2*pi*(0:100)/100
r <- 1
x <- r*cos(theta)
y <- r*sin(theta)
# Set the size, length and width of our canvas to 4 Inch .
par(pin=c(4,4))
plot(x,y,type="l",lty=1)
With e The exponential function at the bottom
Use exp Function can be set to e Exponential function with base .
x <- 2
y <- exp(x)
z <- exp(0:10)
y
z
Logarithmic function
y = loga x, R Is represented by log(x,a)
y = ln x, R Is represented by log(x)
y = lg x, R Is represented by log10(x)
y = log2 x, R Is represented by log2(x)
If direct log(X) The default is e Bottom , That is to say ln(X)
w <- 0
log(w)
w <- 1:10
log(w)
w <- 10000
log10(w)
w <- 16
log2(w)
log(9,3)
log(64,8)
Four 、 Matrix correlation operations
1. The inner product of a vector
Use %*% perhaps crossprod Can generate the result of the inner product of vectors .
x <- 1:5
x
y <- 2*1:5
y
x %*% y
crossprod(x,y)
2. The outer product of a vector
Use %o% perhaps tcrossprod perhaps outer Can get the outer product of the vector , The outer product is the multiplication of elements in the same position
x %o% y
tcrossprod(x,y)
outer(x,y)
3. The transpose of the matrix
Use the transpose command t(x) We can realize the transpose of our matrix
x <- matrix(1:12,nrow=3)
x
y = matrix(1:12,ncol=3)
y
z = matrix(1:12,ncol=3, byrow=T)
z
X = t(x)
X
Y <- t(t(y))
Y
4. The addition and subtraction of matrices
x+t(z)
x-t(z)
x + 1
y <- 1:12
x + y
5. The multiplication of a matrix
Matrix multiplication will multiply every element in the matrix
a <- 3
M <- a*x
M
6. Matrix multiplication
Use %*% perhaps crossprod Can realize matrix multiplication
A = matrix(1:12,ncol=3)
B = matrix(1:18, nrow=3)
A
B
C = A%*%B
C
D = matrix(1:12, nrow=4, byrow=T)
D
t(A) %*% D
Used crossprod after , We don't need to transpose , It can also realize our A And D Multiplication of matrices . by comparison crossprod More efficient , in other words crossprod The matrix of the first parameter will be transposed and then multiplied by the matrix of the second parameter .
crossprod(A,D)
7. Operations related to the diagonal elements of a matrix
Use diag Function can get the elements on the diagonal of the current matrix , And splice it into a vector .
If diag If the parameter of is a vector , It will help us generate a diagonal matrix .
A = matrix(1:16,nrow=4)
A
diag(A)
diag(diag(A))
Generate a n The unit matrix of dimension
diag(n)
n
When diag When the parameter of is a vector , It will return a matrix with this vector as the main diagonal element .
x<-c(1,2,3,4,5)
diag(x)
8. Matrix inversion
Use solve Function can find the inverse of our current matrix
AX=b,X=solve(A,b)
A = matrix(c(1,2,3,4,7,5,2,1,3,1,3,2,3,2,3,2),ncol=4)
A
solve(A)
b <- c(1,2,3,4)
# Calculation equations AX=b Solution
solve(A,b)
9. Eigenvalues and eigenvectors of matrices
Use eigen This method can calculate the eigenvalue of our current matrix and the corresponding eigenvector
values Represents the eigenvalue
vectors Represents the corresponding eigenvector
A = diag(4)+1
A
A.eigen = eigen(A,symmetric=T)
A.eigen
10. Matrix Choleskey decompose
Use our chol Method , It can realize the decomposition of our current matrix .
That is to say, Qiujiang A Decompose into P'P Of P Matrix
A = diag(4)+1
A
P <- chol(A)
P
11. Calculate determinant
Use det Function can calculate the determinant of our current matrix .
det(A)
12. Extract the dimension of the matrix
dim(A) Calculation of matrix A The number of rows and columns
ncol(A) Return matrix A Columns of
nrow(A) Return matrix A The number of rows
dim(A)
ncol(A)
nrow(A)
A
13. Row sum of matrix 、 Column sum 、 Row average and column average
A=matrix(1:16,ncol=4)
A
# Row sum
rowSums(A)
# Row average
rowMeans(A)
# Column sum
colSums(A)
# Column average
colMeans(A)
5、 ... and 、 Integral operations
integrate()
The first parameter is our formula for calculating the integral , The second parameter is our lower bound , The third parameter is our upper limit . In the following code Inf Infinity
integrand <- function(x) {1/((x+1)*sqrt(x))}
integrate(integrand, lower=0, upper=Inf)
6、 ... and 、 Negative number operation
Generate complex vector .
complex(length.out,real=numeric(0),imaginary=numeric(0))
x <- 1+2i
y <- complex(1,1,1)
# Take the real part
Re(y)
# Take imaginary part
Im(y)
# Find module length
Mod(y)
# Find conjugate complex number
Conj(y)
# Judge whether it is plural
is.complex(y)
# Generate complex vector group
complex(re=1:4,im=2:3)
# Yes -2 Square root is not feasible
sqrt(-2)
# Yes -2+0i The square root is ok , Because this is a complex number operation
sqrt(-2+0i)
# If you want to be direct to -2 Find the square root , Or you could just say -2 Convert to plural form and open square root .
sqrt(as.complex(-2))
7、 ... and 、 Mathematical functions
abs(-4.21) # 4.21
sqrt(16) # 4
ceiling(3.78) # 4
floor(3.78) # 3
floor(-3.78) # -4
trunc(-3.78) # -3
trunc(3.78) # 3
round(3.1415926, digits=4) # 3.1415
log(10,2) # 3.321928
log(10) # 2.302585
log10(10) # 1
8、 ... and 、 Other utility functions
x<- c(1,2,3,4)
length(x)
rep(x,2)
rep(1,10)
seq(1,2,by=0.2)
Apply functions to data frames and matrices
b <- c(1.23, 4.271, 9.2727)
# towards 0 Round the direction
trunc(b)
#runif(n, min, max) function , This function generates uniformly distributed values ,n Number of ,min and max Are the minimum and maximum values respectively , The default parameter is 0 and 1.
d <- matrix(runif(12),nrow=3)
# Take the logarithm of each element
log(d)
边栏推荐
- In memory, I moved from CSDN to blog park!
- CVE-2021-3156 漏洞复现笔记
- The navigation bar changes colors according to the route
- Web architecture design process
- bat 批示处理详解
- pytorch_ 01 automatic derivation mechanism
- Leakage relay jd1-100
- Sidecar mode
- Aidl and service
- The year of the tiger is coming. Come and make a wish. I heard that the wish will come true
猜你喜欢
Unity keeps the camera behind and above the player
SQLSTATE[HY000][1130] Host ‘host. docker. internal‘ is not allowed to connect to this MySQL server
Jhok-zbg2 leakage relay
AI face editor makes Lena smile
5. 数据访问 - EntityFramework集成
毕业之后才知道的——知网查重原理以及降重举例
How digitalization affects workflow automation
4. Object mapping Mapster
判断文件是否为DICOM文件
Paper reading [semantic tag enlarged xlnv model for video captioning]
随机推荐
WEB架构设计过程
淘宝商品详情页API接口、淘宝商品列表API接口,淘宝商品销量API接口,淘宝APP详情API接口,淘宝详情API接口
4. 对象映射 - Mapping.Mapster
Five core elements of architecture design
Intelligent annotation scheme of entity recognition based on hugging Face Pre training model: generate doccano request JSON format
When deleting a file, the prompt "the length of the source file name is greater than the length supported by the system" cannot be deleted. Solution
Distributed global ID generation scheme
《HarmonyOS实战—入门到开发,浅析原子化服务》
What is message queuing?
4. Object mapping Mapster
The year of the tiger is coming. Come and make a wish. I heard that the wish will come true
【已解决】记一次EasyExcel的报错【读取xls文件时全表读不报错,指定sheet名读取报错】
高级程序员必知必会,一文详解MySQL主从同步原理,推荐收藏
How Alibaba cloud's DPCA architecture works | popular science diagram
Flinksql 读写pgsql
力扣102题:二叉树的层序遍历
Nodejs get client IP
Getting started with DES encryption
Taobao commodity details page API interface, Taobao commodity list API interface, Taobao commodity sales API interface, Taobao app details API interface, Taobao details API interface
Mysql database learning (8) -- MySQL content supplement