楼主: 子衿1219
4034 7

[问答] 矩阵按照列切割 [推广有奖]

  • 1关注
  • 4粉丝

讲师

70%

还不是VIP/贵宾

-

威望
0
论坛币
60 个
通用积分
1.0023
学术水平
2 点
热心指数
0 点
信用等级
1 点
经验
13521 点
帖子
326
精华
0
在线时间
431 小时
注册时间
2012-3-19
最后登录
2018-7-8

楼主
子衿1219 发表于 2016-8-21 16:47:12 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
我有一个10*500的矩阵
不写循环的话,如何按照列切割成5个10*100的矩阵。1-100列为第一个矩阵,以此类推。。。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:切割

沙发
zerofung 学生认证  发表于 2016-8-21 17:20:22
#假设你的矩阵名叫df
start <- seq(1,500,100)
end <- seq(100,500,100)
for (i in 1:5) {assign(letters[i],df[,start[i]:end[i]])}
已有 1 人评分经验 收起 理由
李会超 + 20 热心帮助其他会员

总评分: 经验 + 20   查看全部评分

藤椅
子衿1219 发表于 2016-8-21 19:03:04
zerofung 发表于 2016-8-21 17:20
#假设你的矩阵名叫df
start
谢谢回复。其实还是用循环做的是吧?如何提取每个子矩阵呢。

板凳
zerofung 学生认证  发表于 2016-8-21 19:36:02
对,我目前能想到的就是用循环做。另外我不知道你说的提取是什么意思,因为我的代码是已经“提取”出来了并分别命名为a、b、c、d、e的,如果你对提取出来的命名有其他要求,改assign的第一个参数就好

报纸
ntsean 发表于 2016-8-21 22:13:12
  1. m = matrix(rnorm(10*500), nrow=10)

  2. ms = tapply(1:500, ceiling((1:500)/100), function(i) m[, i])
复制代码

地板
cheetahfly 在职认证  发表于 2016-8-22 08:35:56
假设你的10*500的matrix变量叫做mat,可:
dim(mat) <- c(10, 100, 5)
如果需要第一个矩阵:
mat[, , 1]
需要第n个矩阵:
mat[, , n] (1<= n <=5)
已有 1 人评分论坛币 收起 理由
jiangbeilu + 10 观点有启发

总评分: 论坛币 + 10   查看全部评分

7
jiangbeilu 学生认证  发表于 2016-8-22 14:44:25
cheetahfly 发表于 2016-8-22 08:35
假设你的10*500的matrix变量叫做mat,可:
dim(mat)
这种方法,遇到既要分列,又要分行时,操作起来就困难了

8
lxy444 学生认证  发表于 2016-8-22 15:06:59
来学习一下

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-30 17:38