我对 R 很陌生,我正在尝试从我的矩阵中的两个变量和净距离(我的数据的第一个点和最后一个点之间的欧几里得距离)计算总距离(或所有数据点上的欧几里得距离的总和)。所以只是我数据的背景。我的数据通常是一个包含 5 个变量的 csv 文件:单元格轨迹(称为 A)、时间间隔、每个单元格的 X 和 Y 位置、V = 速度。每个数据大约有 90 个轨迹并且每个轨道都应该相互独立地对待。
dput(head(t1))
structure(list(A = c(0L, 0L, 0L, 0L, 0L, 0L), T = 0:5, X = c(668L,
668L, 668L, 668L, 668L, 668L), Y = c(259L, 259L, 259L, 259L,
259L, 259L), V = c(NA, 0, 0, 0, 0, 0)), .Names = c("A", "T",
"X", "Y", "V"), row.names = c(NA, 6L), class = "data.frame")
我之前不知道 dist() 函数,所以我做了自己的函数:
GD.data <- function (trackdata)
{A= trackdata(, 1); V=trackdata(, 5);
for (i in min(A):max(A))
while (A<=i) {GD(i) = (sum (V)*(1/25))
return (GD(i))}
这没有用。我使用 A 作为轨道的标识符,并且由于总距离也可以计算为:距离 = 速度(t1-t0),我只是将所有速度乘以我的时间间隔(因为它始终是 1/25 秒。
如何以我的 A 作为标识符使用 dist() 函数?我需要这个,因为每个轨道的计算应该是分开的。谢谢!