r - 创建一个方阵,使得每个元素都等于 2^|j-k|在 R

标签 r

我想在 R 中实现一个命令,它生成一个 nxn 矩阵 A,这样每个元素 aij = 2^|j-k|。我有下面的代码,但我想知道是否有比嵌套循环更优雅和精确的东西?

A = matrix(1, nrow = n, ncol = n)

for (j in 1:n) {
  for(k in 1:n) {     
    A[j,k] <- 2^(abs(j-k))}
}

最佳答案

假设 j是行和 k是列:

j = row(A)
k = col(A)
A = 2**abs(j - k)

或者您可以跳过中间步骤:
A = 2**abs(row(A) - col(A))

关于r - 创建一个方阵,使得每个元素都等于 2^|j-k|在 R,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61913808/

相关文章:

r - 如何防止 'read.table' 将下划线和连字符更改为点?

r - 允许用户修改数据的 Shiny R 应用程序

r - ggplot2:如何为函数曲线上方和线下方的区域着色?

r - 有没有办法计算隔离森林中观察级别的特征重要性?

r - 将 pvclust R 函数应用于预先计算的 dist 对象

r - 如何制作一个列联表,其中一个变量根据给定的休息时间进行分类

r - 如何在 R 中为这个嵌套的 for 循环编写更有效的代码?

r - 如何从多边形 shapefile 绘制 'close' geom_path?

r - 从给定顶点查找非自相交多边形的边

r - 从具有意外结果的二项式(K,p)中采样