首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在处理关系时,在数据框列中找到与给定数字最接近的"floored“

在处理关系时,在数据框列中找到与给定数字最接近的"floored“
EN

Stack Overflow用户
提问于 2021-05-26 19:51:33
回答 1查看 27关注 0票数 1

任务是在一列中找到与给定number>最接近的数字。如果存在纽带,则选择最小的一个数字。这是我笨拙的尝试,它似乎有效,但也许一些专家可以帮助改善这一点?谢谢。

代码语言:javascript
复制
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

因此,给定以下内容:

代码语言:javascript
复制
1,1,2,2,3,3,3,4

和:

代码语言:javascript
复制
2.5

预期结果为2。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-05-26 20:46:37

您可以使用which.min为该位置的df$x值设置子集。

代码语言:javascript
复制
df$x[which.min(abs(df$x - number))]
#[1] 2
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67704302

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档