Это то, что вы можете сделать:
SELECT *
FROM yourTable
PIVOT (MAX(xCount)
FOR Week in ([1],[2],[3],[4],[5],[6],[7])) AS pvt
m <- matrix(1:9, nrow = 3)
m
[,1] [,2] [,3]
[1,] 1 4 7
[2,] 2 5 8
[3,] 3 6 9
n <- m + t(m) # add transpose to original
n
[,1] [,2] [,3]
[1,] 2 6 10
[2,] 6 10 14
[3,] 10 14 18
n * upper.tri(n) # clear out the lower diagonal
[,1] [,2] [,3]
[1,] 0 6 10
[2,] 0 0 14
[3,] 0 0 0
Так что вы можете сделать функцию
my_func <- function(m) {
# do some assertions: m is matrix, square and numeric etc
(m + t(m)) * upper.tri(m)
}