stavo lavorando la mia strada attraverso un primer sulla programmazione R e ho notato una leggera anomalia:R: Int vs Num anomalia nel vettore
x <- c(2,1,1,5)
produce un vettore di tiponum
y <- c(1:5)
produce un vettore di tipoint
z <- c(1.5,2.3)
produce un vettore di tiponum
Perché questo accade ? Qual è il tipo di dati fondamentale in R
: è int
o è num
? Cosa succede se uno degli elementi nel vettore è un float
, il tipo di vettore diventa float
o è qualcos'altro? Cosa succede quando tutti gli elementi nel vettore sono float
- perché è ancora num
in questo caso?
Tutti i numeri sono "double" s ('typeof (2)') se non diversamente specificato ('as.integer' o' L'). 'c' è una funzione che concatena e costruisce al più alto' typeof' dove nella tua "x" è "double". ':' è una funzione che restituisce un vettore "intero" in base alla progettazione. Inoltre, "numeric" è, anche, una classe e restituisce "TRUE" per "interi" e "double" (vedi '? Numerico'). –
Dalla sezione ** Value ** del file della guida ('?": "'), 'Per gli argomenti numerici, un vettore numerico. Questo sarà di tipo intero se from è intero-valutato e il risultato è rappresentabile nel tipo R intero, altrimenti di tipo "double" (cioè modalità "numerico"). – nrussell