楼主: annizhou
1571 2

[问答] 请教循环程序编写:矩阵中每隔N个提取一次 [推广有奖]

  • 0关注
  • 0粉丝

本科生

60%

还不是VIP/贵宾

-

威望
0
论坛币
64 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
895 点
帖子
80
精华
0
在线时间
68 小时
注册时间
2010-10-26
最后登录
2020-1-29

楼主
annizhou 发表于 2015-3-18 03:47:43 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币

请教,怎样编写循环程序把下面矩阵中的每一列 隔一个取一个数 再排列成一个新的矩阵呢。


   [,1] [,2] [,3] [,4] [,5] [,6] [,7]

[1,]    1    6   11   16   21   26  31

[2,]    2    7   12   17   22   27  32

[3,]    3    8   13   18   23   28  33

[4,]    4    9   14   19   24   29  34

[5,]    5   10   15   20   25   30  35


运转完循环后得到的矩阵应该是下面的。

   [,1] [,2] [,3] [,4]

[1,]    1       11      21    31

[2,]    2       12      22    32

[3,]    3      13       23    33

[4,]    4      14      24    34

[5,]    5     15      25    35


谢谢啦


二维码

扫码加我 拉你入群

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

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

关键词:程序编写 程序编写

沙发
qoiqpwqr 发表于 2015-3-18 08:27:10
  1. > x <- matrix(1:35, 5, 7)
  2. > x
  3.      [,1] [,2] [,3] [,4] [,5] [,6] [,7]
  4. [1,]    1    6   11   16   21   26   31
  5. [2,]    2    7   12   17   22   27   32
  6. [3,]    3    8   13   18   23   28   33
  7. [4,]    4    9   14   19   24   29   34
  8. [5,]    5   10   15   20   25   30   35
  9. > x[, seq(1, 7, by = 2)]
  10.      [,1] [,2] [,3] [,4]
  11. [1,]    1   11   21   31
  12. [2,]    2   12   22   32
  13. [3,]    3   13   23   33
  14. [4,]    4   14   24   34
  15. [5,]    5   15   25   35
复制代码
已有 1 人评分热心指数 收起 理由
李会超 + 1 精彩帖子

总评分: 热心指数 + 1   查看全部评分

藤椅
laughing429 发表于 2015-3-18 10:32:24
  1. da <- matrix(c(1:35), nrow = 5, ncol = 7, byrow = FALSE)
  2. da

  3. get_col <- function(da, n){
  4. if(is.matrix(da) == FALSE){
  5.     print(da)
  6.   }
  7.   else{
  8.     if(n > ncol(da)){
  9.       print("No Answer!")
  10.     }
  11.     else{
  12.       da1 = da[, seq(n, ncol(da), 2)]
  13.       da1
  14.     }
  15.   }
  16. }
复制代码

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-8 12:02