R计算两个变量的可能值

标签 r math

我正在尝试计算导致相同数量的单元格的网格大小(x x y)的所有可能值,因此例如 2x2 网格的单元格大小为 4。我希望 y 为x 的一半,总数为,例如 4000。所以我想我希望 R 计算 x 和 y 的所有可能的正整数值,其中

function (total) {
x*y=total
x/y=2 
x!=total 
y!= total.
}

我想获得正整数并考虑不同解决方案的一种方法是允许总数比其原始值大 10%(但不能更小,我需要网格至少与我给出的总值),在这种情况下,该函数可以有两个字段,tot(例如 4000)和公差(例如 10%)。总计(如上面的草图函数中使用的)必须介于 tot 和 (tot+tolerance*tot) 之间

我有多种单元格大小,因此 4000 只是一个示例。我正在尝试构建一个仅返回正整数并返回 X 和 Y 矩阵的快速函数。

有什么想法吗?

非常感谢

最佳答案

这个怎么样:

possible.sizes <- function(total, tolerance) {

   min.total <- total
   max.total <- total * (1 + tolerance)

   min.y <- ceiling(sqrt(min.total/2))
   max.y <- floor(sqrt(max.total/2))

   if (max.y < min.y)
      return(data.frame(x=numeric(0), y=numeric(0)))

   y <- seq(min.y, max.y)
   x <- 2*y

   return(data.frame(x=x, y=y))
}

possible.sizes(4000, 0.1)
#    x  y
# 1 90 45
# 2 92 46

关于R计算两个变量的可能值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10766251/

相关文章:

r - dplyr: "Error in n(): function should not be called directly"

r - 如何优雅地计算 R data.frame 中使用前一行中的值的变量?

c# - 计算三角形 3D 网格的质心

math - 任意旋转中两条抛物线相交的代码或公式

java - 将从 XY 点创建的二维路径分成相等的 block Java

r ggplot x轴刻度线顺序

r - 在 R 中堆叠具有相似名称的列

r - 在 R 中将日期偏移一个月

JavaScript - 欧拉项目#5——效率

javascript - 舍入 n * 10 的算法