首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >colsum rowsum填充矩阵

colsum rowsum填充矩阵
EN

Stack Overflow用户
提问于 2013-12-28 20:36:13
回答 2查看 3.5K关注 0票数 3

我试图为矩阵中的每个单元格条目编写最小的值,无论是它的行和值还是同维新矩阵中的colsum值。

例如:

假设我有矩阵c,如下所示:

代码语言:javascript
复制
x <- matrix(seq(1:6),2)
x
      [,1] [,2] [,3]
[1,]    1    3    5
[2,]    2    4    6

它的龙和钶钽铁矿石是:

代码语言:javascript
复制
rowSums(x)
[1]  9 12
colSums(x)
[1]  3  7 11

基于这一信息,新的矩阵应该如下所示:

代码语言:javascript
复制
      [,1] [,2] [,3]
[1,]    3    7    9
[2,]    3    7    11

我一直在考虑使用apply,但我不知道如何编写if语句来为每个单元格条目从行和或colsum中写入最小的值。有什么想法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-12-28 20:49:42

这可以看作是行和列和的外部乘积,其中函数取最小值:

代码语言:javascript
复制
outer(rowSums(x), colSums(x), FUN=pmin)
##      [,1] [,2] [,3]
## [1,]    3    7    9
## [2,]    3    7   11
票数 6
EN

Stack Overflow用户

发布于 2013-12-28 20:50:13

代码语言:javascript
复制
x[] <- pmin(rep(colSums(x), each = nrow(x)), rep(rowSums(x), times = ncol(x)))
x
#      [,1] [,2] [,3]
# [1,]    3    7    9
# [2,]    3    7   11
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20819100

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档