在数据帧df1的数字列old_code中,我的整数具有以下结构:
head(df1$old_code)
[1] 12101 18201 13202 11301 13302 10401
在new_code列中,我想要相同的整数,减去倒数第二个0(即12101,我想将其视为1011,将18201视为1021)。我很肯定这可以使用正则表达式解决,但我无法破解代码。
谢谢您的帮助!
答案 0 :(得分:1)
您可以尝试使用gsub
:
gsub("(.*)0(.)$", "\\1\\2", df$old_code)
# [1] "1211" "1821" "1322" "1131" "1332" "1041"
答案 1 :(得分:0)
您可以尝试将其转换为字符串:
df$old_code=as.character(df$old_code)
a= substr(df$old_code, 1, 1)
b=substr(df$old_code, 3,nchar(df$old_code))
df$old_code=paste0(a,b)
df$old_code=as.integer(df$old_code)