R:按整数的第一位进行过滤

R:按整数的第一位进行过滤,r,filter,R,Filter,我有一长串整数(>250k),从2位数到4位数不等。我想分离,然后使用R对整数的第一个数字进行过滤 SICCode我们可以使用substr as.integer(substr(SICCode, 1, 1)) #[1] 4 2 3 9 8 1 您可以像下面那样定义自定义筛选函数f f <- Vectorize(function(x) { repeat { if (x<10) return(x) x <- x%/%10 } }) as.integer(s

我有一长串整数(>250k),从2位数到4位数不等。我想分离,然后使用R对整数的第一个数字进行过滤


SICCode我们可以使用
substr

as.integer(substr(SICCode, 1, 1))
#[1] 4 2 3 9 8 1

您可以像下面那样定义自定义筛选函数
f

f <- Vectorize(function(x) {
  repeat {
    if (x<10) return(x)
    x <- x%/%10
  }
})

as.integer(substr(SICCode,1,1))35;[1]4 2 3 9 8 1
谢谢你的支持。。。我试着用nchar把事情复杂化。。。
> f(SICCode)
[1] 4 2 3 9 8 1