【发布时间】:2017-03-09 01:27:09
【问题描述】:
我的数据如下所示:
library(tidyverse)
df <- tibble(
x_val = c(10.3, 14.3, 18.7)
)
将每个x_val 传递给my_fun 之后...
my_fun <- function(x) {
x * pi
}
df %>% rowwise() %>% mutate(y_val = my_fun(x_val))
...我得到以下信息:
# A tibble: 3 × 2
x_val y_val
<dbl> <dbl>
1 10.3 32.35840
2 14.3 44.92477
3 18.7 58.74778
我如何反转函数(不只是除以 pi!因为我的实际函数要复杂得多)以找到 x_val 的适当值以获得最接近 integer - 0.01 的 y_val ..实现x.99:
32.99
44.99
58.99
【问题讨论】:
-
试试
df %>% mutate(y_val = trunc(my_fun(x_val)) + 0.99) -
您也可以将
ceiling(x) - .01添加到您的函数中。 -
对不起,我应该更清楚...我需要知道
x_val的正确值才能得到 32.99 .... (10.501) .... 而不是简单地除以 pi (因为我的实际功能要复杂得多