【问题标题】:R creating a matrix using a formula of the rows and columnsR使用行和列的公式创建矩阵
【发布时间】:2012-09-17 18:02:36
【问题描述】:

如何创建一个矩阵(正常意义,而不是 R 意义),其中 (i,j) 条目是 i 和 j 的函数?我认为它涉及apply(),但我似乎无法弄清楚如何使用它。

假设我有列 x1、x2、... 和行 y1、y2,其中 x1 和 y1 是 R 对象,我想构建一个表/矩阵,其中条目是每个 i 的 xi 和 yj 的函数和 j。

对不起,如果其他地方已经回答了这个问题。

【问题讨论】:

标签: r matrix apply


【解决方案1】:

我不确定我是否理解整个问题。我只回答第一句话的问题:

fun <- function(i,j) i*j

rows <- 1:5
cols <- 1:3

outer(rows,cols,FUN=fun)

     [,1] [,2] [,3]
[1,]    1    2    3
[2,]    2    4    6
[3,]    3    6    9
[4,]    4    8   12
[5,]    5   10   15

【讨论】:

  • 或使用匿名函数内联:outer(rows, cols, function(i, j) i*j)
  • 或者在这种特殊情况下outer(rows,cols, "*")或者只是简单的outer(rows,cols)(因为"*"FUN的默认值)
  • @Ben Bolker 当然,但 OP 询问了一般情况。
猜你喜欢
  • 2021-10-25
  • 1970-01-01
  • 2020-11-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-30
  • 2021-11-26
  • 1970-01-01
相关资源
最近更新 更多