相关疑难解决方法(0)

如何有效地生成对称矩阵的下三角指数

我需要生成下三角矩阵索引(行和列对).当对称矩阵变大(超过50K行)时,当前实现是低效的(内存方式).有没有更好的办法?

rows <- 2e+01
id <- which(lower.tri(matrix(, rows, rows)) == TRUE, arr.ind=T)
head(id)

#      row col
# [1,]   2   1
# [2,]   3   1
# [3,]   4   1
# [4,]   5   1
# [5,]   6   1
# [6,]   7   1
Run Code Online (Sandbox Code Playgroud)

r matrix triangular indices

4
推荐指数
1
解决办法
1827
查看次数

按组的地理距离-在每对行上应用函数

我想计算每个省的房屋数量之间的平均地理距离。

假设我有以下数据。

df1 <- data.frame(province = c(1, 1, 1, 2, 2, 2),
              house = c(1, 2, 3, 4, 5, 6),
              lat = c(-76.6, -76.5, -76.4, -75.4, -80.9, -85.7), 
              lon = c(39.2, 39.1, 39.3, 60.8, 53.3, 40.2))
Run Code Online (Sandbox Code Playgroud)

使用geosphere图书馆,我可以找到两所房子之间的距离。例如:

library(geosphere)
distm(c(df1$lon[1], df1$lat[1]), c(df1$lon[2], df1$lat[2]), fun = distHaversine)

#11429.1
Run Code Online (Sandbox Code Playgroud)

如何计算该省所有房屋之间的距离并收集每个省的平均距离?

原始数据集每个省都有数百万个观测值,因此此处的性能也是一个问题。

r vectorization geospatial dataframe sapply

4
推荐指数
2
解决办法
395
查看次数

标签 统计

r ×2

dataframe ×1

geospatial ×1

indices ×1

matrix ×1

sapply ×1

triangular ×1

vectorization ×1