(II) :Tryb numeryczny

W przypadku trybu numerycznego sprawy stają się nieco skomplikowane. Pierwotnie w S obiekty numeryczne mogły być liczbami całkowitymi, rzeczywistymi lub podwójnymi (dla podwójnej precyzji). Prawdziwa opcja jest przestarzała i nie należy jej używać. W S3 opcje liczb całkowitych i podwójnych znajdują się w trybie numerycznym. W S4 każdy ma osobny typ. Omówiono tutaj funkcje numeric (), is.numeric () i as.numeric (). Funkcje integer (), as.integer (), is.integer (), double (), as.double () i is.double () zachowują się podobnie, ale nie są tutaj omówione, ponieważ znajdują się na poziomie S4. Funkcja numeric () przyjmuje jako argument obiekt numeryczny lub NULL. Jeśli argument jest równy zero lub NULL lub nie ma argumentu, funkcja numeryczna () zwraca wartość liczbową (0), pusty obiekt w trybie numerycznym i długości zero. Jeśli argumentem jest obiekt numeryczny o długości większej niż jeden lub obiekt logiczny, oceniany jest tylko pierwszy element. W przypadku argumentu logicznego PRAWDA jest wymuszana na jeden, a FAŁSZ jest wymuszany na zero, natomiast w przypadku argumentu numerycznego pierwszy element jest zaokrąglany w dół do liczby całkowitej. Następnie funkcja zwraca wektor na zerach długości równych wartości pierwszego elementu. Dla argumentów trybów innych niż numeryczne lub logiczne R zwraca błąd. Funkcja as.numeric () próbuje zmusić obiekt do podwójnej precyzji. Argumentem może być dowolny obiekt w trybie atomowym. Jeśli argument ma wartość NULL lub nie podano żadnego argumentu, zwracana jest wartość numeryczna (0), gdzie liczba (0) jest pustym obiektem typu numerycznego i długości zero. Jeśli obiekt jest logiczny, PRAWDA są ustawiane na jeden, a FAŁSZ jest ustawiany na zero w obiekcie. Jeśli obiekt jest liczbowy, wartości elementów są zwracane jako liczby o podwójnej precyzji. Jeśli obiekt jest złożony, zwracane są tylko części rzeczywiste – jako liczby o podwójnej precyzji. Jeśli obiekt jest w trybie raw, as.numeric () konwertuje wartości szesnastkowe na podwójną precyzję. Jeśli obiekt ma charakter trybowy, funkcja zwraca NA dla elementów obiektu. Jeśli argument nie jest atomowy, R podaje błąd. Elementy o wartości NA zwracane są jako NA. Funkcja is.numeric () testuje obiekt, aby sprawdzić, czy obiekt jest obiektem numerycznym i czy działa z obiektami dowolnego trybu. Wartość PRAWDA jest zwracana, jeśli obiekt jest liczbowy, w przeciwnym wypadku FALSE. Więcej informacji na temat obiektów numerycznych w trybie można znaleźć, wprowadzając ?numeric po znaku zachęty R.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *