如何在R语言中提取变量的前3位数字?技术实现问询
解决方法
在R中可以通过字符串截取的方式轻松实现这个需求,以下是两种常用方案:
方案一:Base R 原生函数
先将数值型变量转为字符型,使用substr()截取前3位,再转回数值型:
# 转换为字符后截取前3位,再转回数值 u$a1 <- as.numeric(substr(as.character(u$a), start = 1, stop = 3))
方案二:tidyverse 工具链(dplyr + stringr)
如果习惯使用tidyverse风格的代码,可以结合mutate()和str_sub():
library(dplyr) library(stringr) u <- u %>% mutate(a1 = as.numeric(str_sub(as.character(a), 1, 3)))
两种方法最终都会得到你需要的结果:
u$a1 # [1] 123 143 145 134
内容的提问来源于stack exchange,提问作者anrisakaki96
相关产品推荐
相关产品推荐

