如何删除R中下一列中右侧(0)的第二个数字?200517302 200517801 200519101 200519702 200521002 200521205
如何删除R中变量右侧(0)的第二个数字 17302, 17801, 19101, 19702, 21002,如何删除R中下一列中右侧(0)的第二个数字?200517302 200517801 200519101 200519702 200521002 200521205,r,R,如何删除R中变量右侧(0)的第二个数字 17302, 17801, 19101, 19702, 21002, 21205我们可以使用sub来匹配字符串末尾($)作为组捕获的字符(())后面的字符(),并替换为捕获组的反向引用(\\1) as.numeric(sub(".(.)$", "\\1", v1)) #[1] 1732 1781 1911 1972 2102 2125 或者更紧凑地使用str\u remove library(stringr) as.numeric(str_remove
21205我们可以使用
sub
来匹配字符串末尾($
)作为组捕获的字符(()
)后面的字符(
),并替换为捕获组的反向引用(\\1
)
as.numeric(sub(".(.)$", "\\1", v1))
#[1] 1732 1781 1911 1972 2102 2125
或者更紧凑地使用
str\u remove
library(stringr)
as.numeric(str_remove(v1, ".(?=.$)"))
注意:如果特定于0,则将
替换为0
,即
as.numeric(str_remove(v1, "0(?=.$)"))
数据
v1我们可以使用sub
匹配字符串末尾($
)作为组捕获的字符(()
)后面的字符(
),并替换为捕获组的反向引用(\\1
)
as.numeric(sub(".(.)$", "\\1", v1))
#[1] 1732 1781 1911 1972 2102 2125
或者更紧凑地使用str\u remove
library(stringr)
as.numeric(str_remove(v1, ".(?=.$)"))
注意:如果特定于0,则将
替换为0
,即
as.numeric(str_remove(v1, "0(?=.$)"))
数据
v1如果最后第二个数字是0
,则可以执行以下操作:
x <- c(17302, 17801, 19101, 19702, 21002, 21205)
x %% 10 +x %/% 10
[1] 1732 1781 1911 1972 2102 2125
x如果最后第二个数字是0
,则可以执行以下操作:
x <- c(17302, 17801, 19101, 19702, 21002, 21205)
x %% 10 +x %/% 10
[1] 1732 1781 1911 1972 2102 2125
x如果不是0
-x%/%100*10+x%%10
如果不是0
-x%/%100*10+x%%10