r - x 是否从系列中向下舍入到最接近的指定数值?
问题描述
想知道 x 如何根据单独的数字序列 (y) 向下舍入到最接近的值。这就是我的想法。
假设 x 在 5s 内
> y
[1] 5 10 15 20 25 30 35 40 45
并且来自不同对象的 y 等于
> x
[1] 39
我希望看到它从 y 向下舍入到最接近的较低指定值
> x
[1] 35
解决方案
您可以使用 %/% 并将其乘以 y(如果将 y 设置为倍数,例如 5):
y <- 5
x <- 39
(x %/% y) * y
如果您必须为 y 使用长度 > 1 的向量,那么您可以使用一些不同的函数,例如max()
或tail(..., 1)
来获取 y 中的最大值或最后一个值:
y <- seq(0, 50, 5)
tail(y[x > y], 1)
max(y[x > y])
请注意,这x > y
是创建一个用于线性搜索的逻辑向量,返回一个 y 值小于 x 的向量并将其传递给函数。
推荐阅读
- google-apps-script - How do I combine two onEdit functions into one
- vue.js - 在 beforeDestroy 生命周期 vue 中无法通过 getElementById 获取元素
- outlook - 如何使用 vbs 回复电子邮件
- javascript - 我可以在 jquery 的布尔开关滑块中翻译是/否吗?
- c# - C# - WebApi - 特殊字符
- javascript - 如何在下拉菜单中显示模块?
- python - 在为 Django 创建虚拟环境时无法解决这个问题
- javascript - 一旦功能组件中的状态发生变化,如何触发钩子?
- swift - 为什么 didSet 不起作用为什么初始化。?
- python - 是否可以返回带有参数但不调用它的函数?