矩阵微分的R函数

矩阵微分的R函数,r,matrix,difference,R,Matrix,Difference,我有一个矩阵,有90个向量长2048条记录,我想用1:90的向量来区分每个向量。 结果将是一个90矩阵,其中90个向量包含每个微分的结果 我怎么做 我的试验是:矩阵[1:90]-矩阵[1:90],但结果是只有1个矩阵只有0,因为有一个简单的微分与相同的矩阵 在advanced中表示感谢请尝试 lst <- lapply(seq_len(ncol(m1)), function(i) m1[,i]-m1) length(lst) #[1] 90 dim(lst[[1]]) #[1] 2048

我有一个矩阵,有90个向量长2048条记录,我想用1:90的向量来区分每个向量。 结果将是一个90矩阵,其中90个向量包含每个微分的结果

我怎么做

我的试验是:矩阵[1:90]-矩阵[1:90],但结果是只有1个矩阵只有0,因为有一个简单的微分与相同的矩阵

在advanced中表示感谢

请尝试

lst <- lapply(seq_len(ncol(m1)), function(i) m1[,i]-m1)
length(lst)
#[1] 90
dim(lst[[1]])
#[1] 2048   90

lst你是说矩阵的nrow是2048,ncol是90?另外,还不清楚预期的结果。是的,nrow是2048,ncol是90。我想将每一列与每一列进行差异,以便使每一列的差异为90,差异的总数为90*90假设你有一个5列矩阵,我猜你想取第一列与2:5列的差异,第二列与除2之外的所有其他列的差异,对吧?我知道这不容易
lst2 <- Map(`-`, as.data.frame(m1), list(m1))
length(lst2)
#[1] 90
set.seed(24)
 m1 <- matrix(sample(1:50, 90*2048, replace=TRUE), ncol=90)