web-dev-qa-db-fra.com

Comment convertir NUM en INT en R?

J'essaie de convertir le format numérique en entier en R. Ceci est essentiel pour une partie du projet où j'utilise le code Java pour exécuter des simulations (qui lisent ces données particulières au format int). 

J'ai essayé à la fois round(x$var, 0) et trunc(x$var). Les deux fonctionnent avec succès, mais quand je str(x), x$var est toujours num. x est une base de données.

22
Vikas Tiwari

Utilisez 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

Test pour la classe:

xx <- as.integer(x)
str(xx)
 int [1:5] 26 37 57 90 20
36
Andrie

Vous pouvez utiliser convert à partir de hablar pour modifier rapidement une colonne du bloc de données.

library(tidyverse)
library(hablar)

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

x %>% 
  convert(int(var))

vous donne:

# A tibble: 3 x 1
    var
  <int>
1     1
2     4
3     6
0
davsjob