相关疑难解决方法(0)

如何汇总数值列表元素

我想知道一种优雅的方式,允许对列表的数值求和(或计算平均值).例如

x <- list( a = matrix(c(1,2,3,4), nc=2), b = matrix(1, nc=2, nr=2))
Run Code Online (Sandbox Code Playgroud)

并希望得到

x[[1]]+x[[2]] 
Run Code Online (Sandbox Code Playgroud)

或者意思是:

(x[[1]]+x[[2]])/2
Run Code Online (Sandbox Code Playgroud)

r

44
推荐指数
2
解决办法
3万
查看次数

是否存在R函数,用于对作为单个列表对象中的元素存储的矩阵进行元素求和?

可能重复:
对矩阵列表求和将
元素列表逐个元素添加在一起

我有一个R列表对象.列表的每个元素包含3乘3矩阵.我想在元素方面总结所有矩阵.那是:

 myList <- list();
 myList[[1]] <- matrix(1:9,3,3)
 myList[[2]] <- matrix((1:9)*10,3,3)
Run Code Online (Sandbox Code Playgroud)

然后我想要最终的输出输出

myList[[1]]+myList[[2]]

      [,1] [,2] [,3]
 [1,]   11   44   77
 [2,]   22   55   88
 [3,]   33   66   99
Run Code Online (Sandbox Code Playgroud)

当然我可以为这个计算写一个循环但是R中的循环非常慢.R有内置功能吗?

r

10
推荐指数
2
解决办法
1万
查看次数

使用data.table进行矩阵运算和分量加法

如果事先不知道要求和的矩阵数,那么进行分量加法的最佳方法是什么?更一般地说,有没有一种很好的方法在的上下文中执行矩阵(或多维数组)操作?我data.table通过几个固定变量或类别对数据进行排序和分组的效率,每个变量或类别包含不同数量的观察值.

例如:

  1. 找到数据的每个观察(行)中给出的向量分量的外积,返回每行的矩阵.
  2. 在每组数据类别的所有行上按组件顺序对结果矩阵求和.

这里用2x2矩阵说明,只有一个类别:

library(data.table)

# example data, number of rows differs by category t
N <- 5
dt <- data.table(t = rep(c("a", "b"), each = 3, len = N), 
                 x1 = rep(1:2, len = N), x2 = rep(3:5, len = N),
                 y1 = rep(1:3, len = N), y2 = rep(2:5, len = N))
setkey(dt, t)
> dt
   t x1 x2 y1 y2
1: a  1  3  1  2
2: a  2  4 …
Run Code Online (Sandbox Code Playgroud)

r matrix outer-join data.table

7
推荐指数
1
解决办法
804
查看次数

标签 统计

r ×3

data.table ×1

matrix ×1

outer-join ×1