0
我不知道R语法,但我需要对数据进行简单的计算。我需要计算物体之间的距离(空间)在R中循环并在数据集中添加列和值
str(cur_slice)
Classes ‘tbl_df’, ‘tbl’ and 'data.frame': 489 obs. of 24 variables:
$ MMSI : num 2.73e+08 2.11e+08 2.72e+08 2.73e+08 2.73e+08 ...
$ LATITUDE : num 45.4 44.1 46.9 44.7 45.2 ...
$ LONGITUDE : num 36.7 28.6 32 37.8 36.5 ...
....
我需要计算cur_slice表中列出的每个对象之间的距离。
试图为使用下一个循环的坐标执行临时数组。
> myarray <- NULL # Creates empty storage container
> for (row in seq(cur_slice)) {
cur_MMSI<- cur_slice$MMSI[raw]
cur_lon<-cur_slice$LONGITUDE[raw]
cur_lat<-cur_slice$LATITUDE[raw]
for (raw2 in seq(cur_slice)) {
if(!cur_slice$MMSI[raw2]==cur_MMSI) {
myarray<-c(myarray, cur_MMSI, cur_slice$MMSI[raw2], cur_lat, cur_lon, cur_slice$LATITUDE[raw2], cur_slice$LONGITUDE[raw2])
}
}
}
但是:
- 我没有得到一个表中的数据(myArray的是简单的列表)。我怎样才能得到一个表,而不是一个列表?
- 我的整体阵列太大了。例如。在示例cur_slice我有489对象...在整体数组我有:31962456项目...我明白,这不是行,它只是项目...
如何从一个表中读取数据和将它添加到另一个表(用于将来的计算),是否需要使用?
非常感谢您的回答。 – twistfire
如何更快地执行此代码?我如何删除嵌套循环和?是否有可能动态地添加数据到数据框但速度够快? :) – twistfire
当然,你可以分享你试图用简单的语言来应用的逻辑吗? – mabdrabo