【发布时间】:2017-12-01 12:23:54
【问题描述】:
我想提取“。”之后的数字。来自 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 行。
如何提取“。”之后的完整数字/所有数字?
该列是数字。
【问题讨论】:
-
你的专栏是什么类的?
-
with(df, (V2 - floor(V2)) * 1000)怎么样? -
如果是数字,您可能需要先将其转换为带有
format或sprintf的字符以获得字符数,即v1 <- c(6.354, 6.355, 6.460, 6.400, 6.012); sub("^[^.]*[.]", "", format(v1, width = 5)) #[1] "354" "355" "460" "400" "012" -
@docendodiscimus 不错的方法是这么想的,但是“6.012”怎么样?
-
@zx8754,很好。我的假设是他们稍后会使用这些提取的数字作为数字,所以这无关紧要,因为只会删除前导零