任务是在一列中找到与给定number>最接近的数字。如果存在纽带,则选择最小的一个数字。这是我笨拙的尝试,它似乎有效,但也许一些专家可以帮助改善这一点?谢谢。
df <- data.frame(
x = c(1,1,2,2,3,3,3,4)
)
number <- 2.5
df <- df %>% mutate(absolute_difference = abs(x - number)) %>% arrange(absolute_difference, x)
head(df)
result <- as.numeric(head(df$x, 1))
result因此,给定以下内容:
1,1,2,2,3,3,3,4和:
2.5预期结果为2。
发布于 2021-05-26 20:46:37
您可以使用which.min为该位置的df$x值设置子集。
df$x[which.min(abs(df$x - number))]
#[1] 2https://stackoverflow.com/questions/67704302
复制相似问题