1
我有一个data.frame如下。创建矩阵的非对角元素
> dat = matrix(c(0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 2, 3, 4, 5, 6), ncol=4)
> dat = as.data.frame(dat)
> names(dat)[1]= "m1"
> names(dat)[2]= "m2"
> names(dat)[3]= "m3"
> names(dat)[4]= "m4"
> dat
m1 m2 m3 m4
1 0 1 0 2
2 0 0 0 3
3 1 1 0 4
4 1 1 1 5
5 1 1 1 6
我想建立一个矩阵(4 * 4),其在对角的值的DAT^2和else例如 DAT [1] * DAT [2],....我如何在R中做到这一点?我知道对角线元素我可以做
> colSums(dat^2)
m1 m2 m3 m4
3 4 2 90
考虑在您的文章中添加完整的期望矩阵。 –
'crossprod(dat)'是你在找什么? –