R 计算从中心到每个数据点的距离

R 计算从中心到每个数据点的距离,r,R,嗨,我想计算从中心到每个数据点的距离 我使用了以下代码,但它不工作,df是我的数据帧,c1是中心 提前谢谢 dist <- NULL for(i in 1:nrow(df)) dist[i] <- euc.dist(df[i,],c1[i,]) dist dist处理这个问题有两种方法:计算df中点之间的所有距离,或者只计算一个中心 第一种方法(效率不高,计算所有距离,只得到一小部分): 有两种方法可以解决这个问题:计算df中点之间的所有距离

嗨,我想计算从中心到每个数据点的距离 我使用了以下代码,但它不工作,df是我的数据帧,c1是中心 提前谢谢

        dist <- NULL
    for(i in 1:nrow(df)) dist[i] <- euc.dist(df[i,],c1[i,])
        dist

dist处理这个问题有两种方法:计算df中点之间的所有距离,或者只计算一个中心

第一种方法(效率不高,计算所有距离,只得到一小部分):


有两种方法可以解决这个问题:计算df中点之间的所有距离,或者只计算一个中心

第一种方法(效率不高,计算所有距离,只得到一小部分):


还有我的解决方案:

设数据为矩阵m:

     x y
[1,] 2 3
[2,] 5 6
[3,] 3 2
[4,] 5 1
[5,] 4 1
[6,] 6 8
然后,中心由以下公式给出:

cnt = c(mean(m[,1]),mean(m[,2]))
因此,m和cnt的每一行之间的距离的代码返回向量为:

apply(m,1,function(x,cnt) {(sqrt((x[1] - cnt[1])^2+(x[2]-cnt[2])^2))},cnt)
结果是:

[1] 2.223611 2.635231 1.900292 2.635231 2.505549 4.859127

还有我的解决方案:

设数据为矩阵m:

     x y
[1,] 2 3
[2,] 5 6
[3,] 3 2
[4,] 5 1
[5,] 4 1
[6,] 6 8
然后,中心由以下公式给出:

cnt = c(mean(m[,1]),mean(m[,2]))
因此,m和cnt的每一行之间的距离的代码返回向量为:

apply(m,1,function(x,cnt) {(sqrt((x[1] - cnt[1])^2+(x[2]-cnt[2])^2))},cnt)
结果是:

[1] 2.223611 2.635231 1.900292 2.635231 2.505549 4.859127
可能的重复可能的重复