
R
2018每天打卡
学生
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
累计函数基本学习
> library(dplyr)> #逻辑值的处理> x1 <- rep(c(TRUE, FALSE), times= 3)> x2 <- rep(c(TRUE, FALSE), each =3)> #用于多个逻辑值的组合判断> cumall(x1)#加载dplyr包[1] TRUE FALSE FALSE FALSE FALSE FALSE>...原创 2018-03-24 09:58:17 · 1790 阅读 · 0 评论 -
一个数质因数的分解
合数的质因数分解90 = 2*3*3*5source("D:/R/2018/7月18判断素数.R")f <- function(n){ if(n>=2) { if(is_prime(n)) { cat("\n") ...原创 2018-07-18 23:47:17 · 458 阅读 · 0 评论 -
猴子选大王
猴子选大王的问题是一个比较经典的问题,很多人都已经写了很多了,今天我结合R语言的特点,R语言是一种动态语言,动态处理数据较为方法。至于问题的重述,就在这里简单的简述一下。n个猴子坐成一圈,从1:n编号,报道k的猴子出局,下一次从下一个猴子开始计数(如果是最后一个,下一个猴子将转到第一个),这里给出猴子一次出局的顺序算法用1:n模拟猴子的编号 第一个的下标k%%n 对他们的编号进行更...原创 2018-07-19 10:13:26 · 528 阅读 · 0 评论 -
如何构造列序列的全排列 n
#要求n<7library(dplyr)n <- 5da <- expand.grid(1:n,1:n,1:n,1:n,1:n)#温馨提示 函数里面向量个数和n一致names(da) <- LETTERS[1:n]f <- function(x){ if(length(x) == length(unique(x))) { temp1 &l...原创 2018-07-19 17:33:36 · 280 阅读 · 0 评论 -
生成小于7阶对称群里面的元素
#温馨提示和上一篇一样#-1 代表分开的意思,中间有-1代表轮换的乘积n <- 5da <- expand.grid(1:n,1:n,1:n,1:n,1:n)names(da) <- LETTERS[1:n]f <- function(x){ if(length(x) == length(unique(x))) { temp1 <- TR...原创 2018-07-19 17:37:05 · 563 阅读 · 0 评论 -
R语言也可以求解矩阵的鞍点
1 矩阵的鞍点,要求是在行中最大值,所在列中的最小值Saddle_Point <- function(A){ re <- NULL for (i in 1:nrow(A)) { for (j in ncol(A)) { if(A[i,j] == max(A[i,])&A[i,j] == min(A[,j])) { ...原创 2018-07-14 13:01:48 · 312 阅读 · 0 评论 -
R语言生成蛇形矩阵
对于很多数学学院的学生来说,他们代码的能力是不够支撑起他们所学的数学知识的,基本谈到编程就是headache,其实很多很有趣的程序没有辣么的"headache",怎么写的蛇形矩阵 1 我的想法就是先构造它的框架 2 利用它的特点,不出边界, 3 它头走的规律,先是右走,走到不能走,就是向下走,不能走向左走,不能走就上走 规律:右 到 下 到 左 到 上 的重复附上代码Sc...原创 2018-07-15 08:29:13 · 755 阅读 · 0 评论 -
R语言中你不得不知道的小而实用的技巧(updating)
为了不一直debugging,还是使用skills,学会summarise1 创建长度为你的空列表n <- 2 vector(mode = "list", n)2 字符串分割为字符library(stringr)strsplit("string", "")#直接分割strsplit("string", " ")#按照一个空格分割3 删除向量中所有重复的元素&保留向量中所有重原创 2018-07-15 09:00:13 · 1074 阅读 · 0 评论 -
矩阵的迹
矩阵的迹的主要性质1 矩阵的迹等于矩阵特征值的和 2 .迹是所有主对角元的和()2.迹是所有特征值的和3.某些时候也利用tr(AB)=tr(BA)来求迹4.trace(mA+nB)=m trace(A)+n trace(B)#附代码Matrix_Trace <- function(A){ n <- min(nrow(A),ncol(A)) s <-0 for (i ...原创 2018-07-15 09:32:05 · 1035 阅读 · 0 评论 -
长data变窄data
注重基础函数的应用,用了两个比较常用的packagelibrary(plyr)library(rlist)A <- data.frame(a = c(rep("A",3), rep("B",3), rep("C",4)), b = c(1,2,3,4,5,6,...原创 2018-08-11 10:07:46 · 964 阅读 · 0 评论 -
从1—9中取三个数相加和为偶数的概率
思路 有3个是偶数 +1个偶数且2个奇数数学表达式R语言的模拟使用sample函数sample(x,n,replacement)x是抽样样本,n是你抽取的样本量,replacement是否重复抽样,p抽取每个样本的概率模拟程序如下N <- 100000count <- 0for(i in 1:N){ if(sum(sample(1:9,3,re...原创 2019-03-28 10:51:10 · 1625 阅读 · 0 评论 -
素数的快速算法(R语言)
is_prime <- function(n)#1只素数0指合数{ if(n>=2)#输入合法的判定 { if(n ==3|n==2) { #2,3的人为判定 return(1) } if(n%%6!=1&n%%6!=5)#不是素数 { return(0) } n_sqrt...原创 2018-07-18 22:50:38 · 9133 阅读 · 0 评论 -
把一般的基地化为标准正交基底
Trans_orthogonal_basis <- function(A){ n_col <- ncol(A) n_row <- nrow(A) B <- A if((n_col == n_row)&(n_row>1)) { if(Matrix::rankMatrix(A)[1] == n_col) { for...原创 2018-06-27 00:25:23 · 1505 阅读 · 0 评论 -
纪念牛客的第一次写作业
da1 <- read.table("D:/R/plyr/1.txt", header = FALSE)names(da1) <- c("n","m")da1 <- as.matrix(da1)f <- function(x){ n <- x[1] m <- x[2] a <- numeric(m原创 2018-06-09 00:09:06 · 171 阅读 · 0 评论 -
矩阵的代数乘法
A_multiply_B <- function(A, B, n = 1){ if(dim(A)[2] == dim(B)[1])#判断是否可以计算 { C <- matrix(numeric(dim(A)[1]*dim(B)[2]), byrow = TRUE,nrow = dim(A)[1]) for(i in 1:dim(...原创 2018-05-18 14:51:11 · 1045 阅读 · 0 评论 -
欧拉函数的计算
#欧拉函数是小于n的正整数中与n互质的数的数目#判里两个数是不是互质is.prime <- function(n,m){ flag <- 1 temp1 <- min(m,n) if(temp1 ==1) { flag <- 1 } else if(temp1 == 2) { if(max(n,m)%%2 == 0) { flag...原创 2018-05-18 14:58:54 · 4246 阅读 · 0 评论 -
计算矩阵A的n次幂
#计算一个矩阵的A的n次方 f <- function(A, n = 1){ if(n ==1) { return(A) } else { return(A%*%f(A,n-1)) #主要理解递归 }}X <- matrix(1:9, ncol = 3)Xf(X,3)X <- matrix(1:9, nc...原创 2018-05-19 00:00:40 · 21350 阅读 · 0 评论 -
Fibonacci 数列的R语言实现
#time is slow,用递归来写,直观,但是时间太慢Fibonacci <- function(n){ if(n == 1|n == 2) { return(1) } else { return(Fibonacci(n-1) + Fibonacci(n - 2)) }}Fibonacci(11)#非递归的算法Fibonacci <-...原创 2018-05-22 08:44:52 · 9123 阅读 · 0 评论 -
矩阵化为代数里面的阶梯型和它的标准型
Mtrans_uptriangle <- function(X){ if(is.null(dim(X))|dim(X)[1]==1|dim(X)[2]==1)#不是矩阵时,直接返回本身 { as.vector(X) } else#处理矩阵 { Mrow <- dim(X)[1]#行 Mcol <- dim(X)[2]#列 Mc...原创 2018-05-22 08:50:49 · 2126 阅读 · 0 评论 -
用初等行变换求矩阵的逆
高等代数的理论知识(A | E) 经过初等行变换(E | A-1)(A-1 代表A的逆)matrix_inv <- function(A){ A_zhi <- Matrix::rankMatrix(A)[1] n_row <- dim(A)[1] n_col <- dim(A)[2] if((n_col==n_row)&(n_row == A_zh...原创 2018-06-03 00:08:38 · 11626 阅读 · 0 评论 -
构造初等矩阵
fabric_Elementary_matrix <- function(i =0, j = 0,k = 1,n){ # n代表矩阵的维数 A <- diag(1, n) if(i!= 0&j == 0)#i行乘k倍 { A[i,] <- k*A[i,] } if(...原创 2018-06-03 00:31:33 · 305 阅读 · 0 评论 -
给出x 和 y 的联合概率,求信息熵
f <- function(x){ x <- x[which(x != 0)] return(-sum(x*log(x)))}information_entropy <- function(A){ apply(A, 1, f) apply(A, 1, f) temp1 <- as.vector(A) temp1 <- temp1...原创 2018-06-06 23:15:04 · 2310 阅读 · 0 评论 -
给出特征值和特征值重数,怎么构建Jordan矩阵
1 构建一个Jordan块A_Jordan_Bulk <- function(lamda, n){ A <- diag(lamda,n) if(n>=2) { for(i in 1:(n-1)) { A[i,i+1] <- 1 } } A}2 怎么由Jordan块组成Jordan矩阵#lamdas 是特征值,#E...原创 2018-05-31 12:58:50 · 3513 阅读 · 1 评论 -
数列求和
数列的第一项为n,以后各项为前一项的平方根,求数列的前m项的和da1 <- read.table("D:/R/plyr/1.txt", header = FALSE)names(da1) <- c("n","m")da1 <- as.matrix(da1)f <- function(x){ n <- x[1] m &..原创 2018-06-09 00:05:00 · 531 阅读 · 0 评论 -
删除一个矩阵中相同的列
1 利用as.data.frame函数将矩阵转化为dataframe2 dataframe的列进行遍历3all()函数来判断两个列比较的逻辑值否相等4 若是相同,则删除,当前的下标不变5若是不同。则j <- j+1#删除数据框的命令用A[,j] <-NULL附注R语言代码f <- function(A){ B <- as.data.f...原创 2019-05-02 14:38:01 · 810 阅读 · 0 评论