35

我正在尝试将数字格式转换为 R 中的整数。这对于我使用 java 代码运行一些模拟(将这个特定数据读取为 int)的项目的一部分至关重要。

我都试过了round(x$var, 0)trunc(x$var)。它们都运行成功,但是当我str(x)x$var仍然是num。x 是一个数据框。

4

2 回答 2

57

使用as.integer

set.seed(1)
x <- runif(5, 0, 100)
x
[1] 26.55087 37.21239 57.28534 90.82078 20.16819


as.integer(x)
[1] 26 37 57 90 20

测试类:

xx <- as.integer(x)
str(xx)
 int [1:5] 26 37 57 90 20
于 2012-07-24T19:53:35.470 回答
1

您可以使用convertfromhablar快速更改数据框的列。

library(tidyverse)
library(hablar)

x <- tibble(var = c(1.34, 4.45, 6.98))

x %>% 
  convert(int(var))

给你:

# A tibble: 3 x 1
    var
  <int>
1     1
2     4
3     6
于 2018-12-05T08:25:56.687 回答