- 阅读权限
- 255
- 威望
- 0 级
- 论坛币
- 63894 个
- 通用积分
- 1679.3337
- 学术水平
- 489 点
- 热心指数
- 598 点
- 信用等级
- 336 点
- 经验
- 127401 点
- 帖子
- 2098
- 精华
- 1
- 在线时间
- 3983 小时
- 注册时间
- 2010-10-27
- 最后登录
- 2025-12-27
|
有,我刚编的:
- transmat <- function(mat) {
- if(!is.matrix(mat))
- stop("The Argument is not a Matrix.")
- nr <- nrow(mat)
- nc <- ncol(mat)
- mat_1 <- mat[,c(-(nc-1),-nc)]
- mat_2 <- mat[,c(-1,-nc)]
- mat_3 <- mat[,-1:-2]
- matout <- matrix(c(rep(0,nr*2), mat_1*mat_2*mat_3), ncol = nc)
- return(matout)
- }
- # 测试:
- a <- matrix(sample(c(0, 1), 48, replace = T), ncol=6)
- b <- matrix(1:48, 6, 8)
- a
- [,1] [,2] [,3] [,4] [,5] [,6]
- [1,] 0 0 0 1 0 0
- [2,] 0 1 1 1 0 0
- [3,] 1 0 1 1 1 1
- [4,] 0 0 1 1 1 1
- [5,] 0 1 0 0 0 1
- [6,] 0 0 0 0 1 0
- [7,] 1 0 0 1 0 0
- [8,] 1 1 0 0 0 1
- b
- [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
- [1,] 1 7 13 19 25 31 37 43
- [2,] 2 8 14 20 26 32 38 44
- [3,] 3 9 15 21 27 33 39 45
- [4,] 4 10 16 22 28 34 40 46
- [5,] 5 11 17 23 29 35 41 47
- [6,] 6 12 18 24 30 36 42 48
- transmat(a)
- [,1] [,2] [,3] [,4] [,5] [,6]
- [1,] 0 0 0 0 0 0
- [2,] 0 0 0 1 0 0
- [3,] 0 0 0 0 1 1
- [4,] 0 0 0 0 1 1
- [5,] 0 0 0 0 0 0
- [6,] 0 0 0 0 0 0
- [7,] 0 0 0 0 0 0
- [8,] 0 0 0 0 0 0
- transmat(b)
- [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
- [1,] 0 0 91 1729 6175 14725 28675 49321
- [2,] 0 0 224 2240 7280 16640 31616 53504
- [3,] 0 0 405 2835 8505 18711 34749 57915
- [4,] 0 0 640 3520 9856 20944 38080 62560
- [5,] 0 0 935 4301 11339 23345 41615 67445
- [6,] 0 0 1296 5184 12960 25920 45360 72576
复制代码
|
-
总评分: 经验 + 80
论坛币 + 40
查看全部评分
|