r - 计算两点之间所有可能的斜率

标签 r performance

我有两个向量

x <- rnorm(100)
y <- rnorm(100)

我需要计算所有点之间的斜率(公式:y2 - y1/x2 - x1)。所以我需要点 (x1, y1)(x1, y2)(x1, y1)( x1, y3)...、(x2, y2) 和 (y2, y3) 等。总共将是选择(n, 2) 斜率。

如何在 R 中有效执行此操作(我需要运行多次,因此效率在这里非常重要)

最佳答案

如果您需要在 n(x, y) 点之间选择(n, 2)斜率,请使用

xy <- cbind(x, y)
library(RcppAlgos)
ind <- comboGeneral(nrow(xy), 2)
d <- xy[ind[, 2], ] - xy[ind[, 1], ]
slope <- d[, 2] / d[, 1]

我没有使用 R 核心的 combn 函数。请参阅Product between all combinations of a vector's elements进行案例研究。

关于r - 计算两点之间所有可能的斜率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52152542/

相关文章:

javascript - 调用 JavaScript/jQuery 函数的不同方法的性能

聚合/by 的反转?

Java, rJava 安装在 AWS EC2 for R (xlsx and other packages)

r - 如何在R中转换编码

mysql - 在 mysql 表中存储多个范围以使查询更快/更容易

performance - 平均响应时间与平均周转时间

r - 使用 ddply 选择组的最小值

具有多个变量输入的 R 自定义 data.table 函数

稀疏矩阵的 Ruby 哈希

java - HashMap<String, Comparable> 与 HashMap<String, Object> 的性能 - Java