我有一个包含这样的元素的向量:
x< - c(“3434/1233”,“3434.332 / 232.2”,“220.23 / 932.89”,“908.11111 / 9”)我希望将斜杠后的数字替换为它们的值乘以60。
所以……
我们可以使用 gsubfn 。捕获数字,包括字符串末尾的小数( ([0-9.]+$) ),将其转换为数字并乘以60
gsubfn
([0-9.]+$)
library(gsubfn) gsubfn("([0-9.]+$)", ~ as.numeric(x)*60, x) #[1] "3434/73980" "3434.332/13932" "220.23/55973.4" "908.11111/540"
或者正确地遵循这些条件
gsubfn("\\/([0-9.]+$)", ~ paste0("/", as.numeric(x)*60), x) #[1] "3434/73980" "3434.332/13932" "220.23/55973.4" "908.11111/540"