Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 创建上三角矩阵作为表格_R_Matrix - Fatal编程技术网

R 创建上三角矩阵作为表格

R 创建上三角矩阵作为表格,r,matrix,R,Matrix,我有一个(I,j,x)格式的1亿行以上的矩阵。对于某些行,(i,j,x)和(j,i,x)都存在。对于其他人,只有(j,i,x)(j>i)存在。我正在寻找一种有效的方法,将其转换为上三角格式(I,j,x)(I

我有一个(I,j,x)格式的1亿行以上的矩阵。对于某些行,(i,j,x)和(j,i,x)都存在。对于其他人,只有(j,i,x)(j>i)存在。我正在寻找一种有效的方法,将其转换为上三角格式(I,j,x)(I
set.seed(100)
N <- 10000
M <- 1000
mat <- cbind(sample(1:M,N,replace=TRUE),sample(1:M,N,replace=TRUE),runif(N))
mat.out <- mat[mat[,1]<mat[,2],]
idx.flip <- which(runif(nrow(mat.out))<.3)
idx.del <- idx.flip[seq(1,length(idx.flip)%/%2)]
mat.in <- rbind(mat.out[-idx.del,], cbind(mat.out[,2],mat.out[,1],mat.out[,3])[idx.flip,])
set.seed(100)

N当前,
mat.out
中存在重复索引,这是预期的吗?输出矩阵中不应存在重复索引。您可以使用
mat,您可以尝试类似于
inds mat.in[,2]的方法;mat.在[inds,1:2]中,我读到了严重的术语混乱:如果它有三维,它就不是R矩阵。“在场”的概念也不清楚。你是说
NA
?您定义的
mat
-对象有N行和3列,因此无法由
[i,j,x]
索引。