Chciałbym rozpocząć od stwierdzenia, że jestem absolutnie początkującym programistą, więc proszę wybacz, jak podstawowe jest to pytanie.
Próbuję lepiej zrozumieć „atomowe” klasy w R i być może dotyczy to ogólnie zajęć z programowania. Rozumiem różnicę między klasami znakowymi, logicznymi i złożonymi klasami danych, ale staram się znaleźć podstawową różnicę między klasą liczbową a klasą liczb całkowitych.
Powiedzmy, że mam prosty wektor x <- c(4, 5, 6, 6)
liczb całkowitych, sensowne byłoby, gdyby była to klasa liczb całkowitych. Ale kiedy class(x)
dostanę [1] "numeric"
. Następnie, jeśli przekonwertuję ten wektor na klasę liczb całkowitychx <- as.integer(x)
. Zwraca tę samą dokładną listę liczb, ale klasa jest inna.
Moje pytanie brzmi: dlaczego tak jest i dlaczego domyślną klasą zbioru liczb całkowitych jest klasa numeryczna oraz jakie są zalety i wady posiadania liczby całkowitej ustawionej jako numeryczna zamiast całkowitej.
as.integer(c(4.1, 5.2, 6.3, 6.4))
pomaga zrozumieć różnicę? Musisz zrozumieć, że wewnętrzna reprezentacja i to, co jest drukowane, wcale nie są takie same. W każdym razie poczytaj o typach danych w językach komputerowych.