计算向量R中值之间的距离
我有下面的多重集X,我想在其中找到所有数字之间的距离。有没有办法将它集成到FOR循环中,这样如果给我一个不同大小的multiset,我就不必像下面那样手动执行它 对于本例,最终答案是[0,2,2,3,3,4,5,6,7,8,10](排序)计算向量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=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))较短