title: Extract elements from matrix diagonal saved in multiple lists in R
body: <p>I´m trying to get different elements from multiple diagonal saved as lists. My data looks something like this:</p>
  
  <pre><code>res &lt;- list()
  res[[1]] &lt;- matrix(c(0.04770856,0.02854005,0.02854005,0.03260190), nrow=2, ncol=2)
  res[[2]] &lt;- matrix(c(0.05436957,0.04887182,0.04887182, 0.10484454), nrow=2, ncol=2)
  
  &gt; res
  [[1]]
             [,1]       [,2]
  [1,] 0.04770856 0.02854005
  [2,] 0.02854005 0.03260190
  
  [[2]]
             [,1]       [,2]
  [1,] 0.05436957 0.04887182
  [2,] 0.04887182 0.10484454
  
  &gt; diag(res[[1]])
  [1] 0.04770856 0.03260190
  &gt; diag(res[[2]])
  [1] 0.05436957 0.10484454
  </code></pre>
  
  <p>I would like to save the first and second elements of each diagonal of a given list into a vector similar to this:</p>
  
  <pre><code>d.1st.el &lt;- c(0.04770856, 0.05436957)
  d.2nd.el &lt;- c(0.03260190, 0.10484454)
  </code></pre>
  
  <p>My issue is to write the function that runs for all given lists and get the diagonals. For some reason, when I use unlist() to extract the values of each matrix for a given level, it doesn't get me the number but the full matrix. </p>
  
  <p>Does anyone have a simple solution?</p>