This question already has answers here:
Sum of antidiagonal of a matrix

(4 个回答)


3年前关闭。




我试图从我的数据中获取特定的对角线。这是我的代码:
a2008=c(30,50,65)
a2009=c(40,90,NA)
a2010=c(55,NA,NA)

mydata=rbind(a2008,a2009,a2010)
mydata
      [,1] [,2] [,3]
a2008   30   50   65
a2009   40   90   NA
a2010   55   NA   NA

我们怎样才能得到对角线 65, 90, 55 ?

我已经使用了 diag 函数,但我得到了 30, 90, NA

一些帮助将不胜感激

最佳答案

要获得主对角线,您可以这样做。 ( rev 以获得规定的顺序)

mydata[row(mydata) + col(mydata) == ncol(mydata) + 1]

你可以得到下面的对角线
mydata[row(mydata) + col(mydata) == ncol(mydata) + 2]

等等

关于r - 从数据帧中提取特定对角线,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49517213/

10-12 19:22