楼主: Tia1992
2529 4

[问答] 如何实现每列数据与其第一行数据相除 [推广有奖]

  • 0关注
  • 0粉丝

高中生

70%

还不是VIP/贵宾

-

威望
0
论坛币
2 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
171 点
帖子
23
精华
0
在线时间
32 小时
注册时间
2016-9-25
最后登录
2017-10-22

楼主
Tia1992 发表于 2017-2-2 23:10:45 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
例如现在我有一个矩阵A


col1  col2  col3
1      2      3
3      7      5
6      6      6
怎样实现每一列与其第一行的元素相除呢?
多谢回答
二维码

扫码加我 拉你入群

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

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

关键词:如何实现 如何

沙发
crystal8832 学生认证  发表于 2017-2-3 02:10:54
  1. col1=c(1,3,6)
  2. col2=c(2,7,6)
  3. col3=c(3,5,6)
  4. A=cbind(col1,col2,col3)
  5. x=matrix(NA,nrow=nrow(A),ncol=nrow(A))
  6. for (i in 1:nrow(A)) {
  7.   x[i,]=A[i,]/A[1,]
  8.   print(x)
  9. }
复制代码

我可能写的复杂了,个人觉得使用apply同样能解决问题。

藤椅
ntsean 发表于 2017-2-3 02:47:43
  1. A / matrix(A[1, ], nrow = nrow(A), ncol = ncol(A), byrow = TRUE)
复制代码
已有 2 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
李会超 + 100 + 40 精彩帖子
Tia1992 + 1 + 1 + 1 精彩帖子

总评分: 经验 + 100  论坛币 + 40  学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

板凳
Tia1992 发表于 2017-2-3 16:37:19
ntsean 发表于 2017-2-3 02:47
多谢多谢!!!!

报纸
swyggq 发表于 2017-2-6 02:27:35
设矩阵为A
只需要:
t(apply(A,1,function(x)x/A[1,]))
或者简单一些:
t(t(A)/A[1,])
或者更简单,如果第一行恰好是1:n
A/col(A)

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

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