Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/76.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.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_Loops_Vector_Rstudio_Nested Function - Fatal编程技术网

计算向量R中值之间的距离

计算向量R中值之间的距离,r,loops,vector,rstudio,nested-function,R,Loops,Vector,Rstudio,Nested Function,我有下面的多重集X,我想在其中找到所有数字之间的距离。有没有办法将它集成到FOR循环中,这样如果给我一个不同大小的multiset,我就不必像下面那样手动执行它 对于本例,最终答案是[0,2,2,3,3,4,5,6,7,8,10](排序) X=c(0,10,8,3,6) L=length(X) print(L) ##for(i in seq(from=1, to=L )){} print(abs(X[1]-X[2]), abs(X[1]-X[3]), abs(X[1]-X[4]),

我有下面的多重集X,我想在其中找到所有数字之间的距离。有没有办法将它集成到FOR循环中,这样如果给我一个不同大小的multiset,我就不必像下面那样手动执行它

对于本例,最终答案是[0,2,2,3,3,4,5,6,7,8,10](排序)

X=c(0,10,8,3,6)
L=length(X)
print(L)

##for(i in seq(from=1, to=L )){}

print(abs(X[1]-X[2]),  abs(X[1]-X[3]),
    abs(X[1]-X[4]),  abs(X[1]-X[5]),
    abs(X[1]-X[6]),  

    abs(X[2]-X[3]), abs(X[2]-X[4]),
    abs(X[2]-X[5]),  abs(X[2]-X[6]),


    abs(X[3]-X[4]),  abs(X[3]-X[5]),
    abs(X[3]-X[6]),  


    abs(X[4]-X[5]), abs(X[4]-X[6]),


    abs(X[5]-X[6])  

        )

您可以将此向量视为列向量并应用
dist

sort(dist(X))
# [1]  2  2  3  3  4  5  6  7  8 10

你真的需要循环吗?可能
abs(apply(combn(c(0,10,8,3,6),2,2,diff))较短