gpt4 book ai didi

r - 在数据框上应用 sqrt 函数

转载 作者:行者123 更新时间:2023-12-01 04:47:57 26 4
gpt4 key购买 nike

我想计算每两个点之间的以下等式,我不知道如何在整个数据集中应用它:

Point  x y z
1 4 3 8
2 8 5 4
3 5 4 7
4 2 7 4

D1,2 = sqrt((x2-x1)²+ (y2-y1)²+( z2-z1)²)

最佳答案

最好使用 dist用于计算评论中建议的距离。

data.frame(as.matrix(dist(df[,-1], diag = TRUE, upper = TRUE)))

您也可以使用 sapply自己计算距离(或应用其他公式)
sapply(1:NROW(df), function(i)
sapply(1:NROW(df), function(j)
sqrt(diff(df$x[c(i,j)])^2 + diff(df$y[c(i,j)])^2 + diff(df$z[c(i,j)])^2)))
# [,1] [,2] [,3] [,4]
#[1,] 0.000000 6.000000 1.732051 6.000000
#[2,] 6.000000 0.000000 4.358899 6.324555
#[3,] 1.732051 4.358899 0.000000 5.196152
#[4,] 6.000000 6.324555 5.196152 0.000000

关于r - 在数据框上应用 sqrt 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44958112/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com