Javascript 特定簇结构中的矩阵转换
我试图将计算欧几里德距离并采用其矩阵形式后得到的距离矩阵转换为手动定义的聚集模式。 在我的例子中,这是一个矩阵假设哪一个正常模式 假设,这是所需的集群顺序,我必须转换,即从1234到3124,我想要这样的东西。我不想手动操作,因为我的矩阵大小是40 X 40。 它不是点击我的头脑,我可以编码,但算法不是我的头脑。如果你能帮忙或者有人以前做过类似的事情。请帮我解决一下 我尝试在d3.csv的帮助下从csv中读取数据,它给出了1234的预期结果,如下所示:Javascript 特定簇结构中的矩阵转换,javascript,csv,d3.js,matrix,Javascript,Csv,D3.js,Matrix,我试图将计算欧几里德距离并采用其矩阵形式后得到的距离矩阵转换为手动定义的聚集模式。 在我的例子中,这是一个矩阵假设哪一个正常模式 假设,这是所需的集群顺序,我必须转换,即从1234到3124,我想要这样的东西。我不想手动操作,因为我的矩阵大小是40 X 40。 它不是点击我的头脑,我可以编码,但算法不是我的头脑。如果你能帮忙或者有人以前做过类似的事情。请帮我解决一下 我尝试在d3.csv的帮助下从csv中读取数据,它给出了1234的预期结果,如下所示: d3.csv("final.csv",
d3.csv("final.csv", function(loadeddata) {
mydata = loadeddata.map(function(d) {return [+d["1"], +d["2"] , +d["3"], +d["4"]] ;});
到
因此,我可以得到所需的集群格式的矩阵,但它不起作用,因为它将整个列移动到所需的位置,但不移动元素
这是我的另一次尝试
var iMax = 4;
var jMax = 4;
var newdata = new Array();
for (i=0;i<iMax;i++) {
newdata[i]=new Array();
for (j=0;j<jMax;j++) {
newdata[i][j]=0;
}
}
var arraycomb = [3,1,2,4];
for ( i = 0; i < 4; i++) {
for ( j = 0; j < 4; j++) {
newdata[arraycomb[i]][arraycomb[j]] = mydata[i][j];
}
}
var iMax=4;
var jMax=4;
var newdata=newarray();
对于(i=0;i
var iMax = 4;
var jMax = 4;
var newdata = new Array();
for (i=0;i<iMax;i++) {
newdata[i]=new Array();
for (j=0;j<jMax;j++) {
newdata[i][j]=0;
}
}
var arraycomb = [3,1,2,4];
for ( i = 0; i < 4; i++) {
for ( j = 0; j < 4; j++) {
newdata[arraycomb[i]][arraycomb[j]] = mydata[i][j];
}
}