gpt4 book ai didi

返回带小数位的值中第一个小于 5 的数字的位置

转载 作者:行者123 更新时间:2023-12-05 03:16:23 29 4
gpt4 key购买 nike

我想知道小数点后第一个数字小于 5 的位置。如果这不可能(所有数字都是 5 或以上),那么应该返回该数字的小数位数.

所以这个数据:

library(dplyr)
Data <- tibble(Number = c(0.998971282, 0.97871, 0.98121752874, 0.98921752874, 0.95171358,0.99999999))

应该产生这样的输出:

Data %>% mutate(Position = c(6, 5, 3, 4, 3, 8))

最佳答案

基础 R

get_first_digit_below <- 
function(x){
str <- substr(x, 3, nchar(x))
idx <- regexpr("[0-4]", str)
idx[idx < 0] <- nchar(str)[idx < 0]
as.vector(idx)
}

get_first_digit_below(Data$Number)
#[1] 6 5 3 4 3 8

dplyr & stringr

library(stringr)
library(dplyr)
get_first_digit_below <-
function(x){
str <- substr(x, 3, nchar(x))
idx <- str_locate(str, "[0-4]")[, 1]
coalesce(idx, str_length(str))
}

get_first_digit_below(Data$Number)
#[1] 6 5 3 4 3 8

关于返回带小数位的值中第一个小于 5 的数字的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74687851/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com