所有点之间的绝对值我想知道是否有一种简单的方法可以将列中所有点的绝对值聚合到一起。我写了一些脚本,它们会给我一个工具的舞台位置数据,但是我想看看这些位置相对于自己的位置而不是机器的绝对位置。
例如:
如果我有3分,我想知道1-2,1-3和2-3之间的距离。
如果我有4分,我想知道1-2,1-3,1-4,2-3,2-4和3-4之间的距离。
等等...
对于小型数据集,可以轻松完成,但我的数据集范围为20-100个点。我正在寻找内置的东西或可能的想法来编写解决方案的脚本。任何帮助深表感谢。
Re:所有点之间的绝对值完善!谢谢,这对我的申请来说确实很容易。
我有一个运行的python脚本,它提取然后将XML文件中的位置数据读入CSV。然后我使用JMP从CSV分析舞台位置。所以,我没有任何其他的jsl用于我正在尝试做的事情......
Re:所有点之间的绝对值我想“更容易”取决于你的代码做了什么,以及如何做。但是如果你想要矩阵是三角形,你可以使用:
Names Default To Here( 1 );
// Data
v = [1, 2, 3, 4];
// Compute Euclidean distance between all pairs of points
dm = Sqrt(Distance(v, v));
// Make matrix dm lower triangular
dm2 = J(NRow(dm), NCol(dm), .);
for (r=1, r<=NRow(dm), r++,
dm2[r, 1::r] = dm[r, 1::r];
);
dt = AsTable(dm2);
Re:所有点之间的绝对值很棒的解决方案!两者都非常适合我正在做的事情。我喜欢'Distance()'功能,我将不得不更多地研究它。
我有一个跟进问题:
这两种解决方案基本上都产生一个矩阵,其中单元中每个点之间的距离。我想知道是否有一种简单的方法可以去除矩阵的下三角或上三角?我不需要双方,这将使分析更容易。
Re:所有点之间的绝对值尼斯
Re:所有点之间的绝对值您也可以使用“距离()”功能(请参阅“帮助>脚本指南”):
Names Default To Here( 1 );
// Data
v = [1, 2, 3, 4];
// Compute Euclidean distance between all pairs of points
dm = Sqrt(Distance(v, v));
dt = AsTable(dm);
Re:所有点之间的绝对值我想这可能会做你想要的:
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\big class.jmp" );
a = dt:weight << get values;
b = a;
c = [];
For( i = 1, i <= N Rows( a ), i++,
c = c || abs( a[i] - b);
dt << New Column( "col" || Char( i ), values( c[0, i] ) );
);