R 强制gsub保持尾随零

R 强制gsub保持尾随零,r,regex,gsub,R,Regex,Gsub,我想从data.frame[,1]中提取“.”之后的数字,并将其存储在第二列中,如下所示: 1 6.354 354 2 6.355 355 3 6.363 363 4 6.367 367 5 6.378 378 6 6.419 419 7 6.426 426 8 6.427 427 9 6.428 428 10 6.431 431 11 6.460 46 12 6.477 477 (...) 为此,我使用了gsub(“.\\\”,“”,data.frame[,1]),但这忽略了零,如第11行

我想从data.frame[,1]中提取“.”之后的数字,并将其存储在第二列中,如下所示:

1 6.354 354 
2 6.355 355
3 6.363 363
4 6.367 367
5 6.378 378
6 6.419 419
7 6.426 426
8 6.427 427
9 6.428 428
10 6.431 431
11 6.460 46
12 6.477 477
(...)
为此,我使用了
gsub(“.\\\”,“”,data.frame[,1])
,但这忽略了零,如第11行所示。 如何提取“.”后的完整数字/所有数字?
列是数字。

如果这是数字,那么我们可能需要使用
格式或
sprintf
将其转换为
字符
,然后使用
sub

sub("^[^.]*[.]", "", format(v1, width = max(nchar(v1))))
#[1] "354" "355" "460" "400" "012"
数据
v1你的专栏是什么类别的?关于
和(df,(V2-floor(V2))*1000)
?如果它是数字的,你可能需要首先用
格式或
sprintf
将其转换为字符,以获得字符数,即
v1@docendodiscimus nice方法也这么想,但是“6.012”怎么样?@zx8754,很好的捕获。我的假设是,他们以后会使用这些提取的数字作为数字,所以这并不重要,因为只有前导零会被删除
v1 <- c(6.354, 6.355, 6.460, 6.400, 6.012)