Кажется маловероятным, что решение проблемы, как указано, поможет вам в достижении вашей конечной цели. В R наиболее близким к uint8 является формат raw
. Это может быть преобразовано в любой другой тип данных, который вы выберете, поэтому лучше научиться работать с ним.
Для полноты, стоит отметить, что с объектно-ориентированной системой R3 S3 очень легко определите свой собственный класс uint8. Вот чрезвычайно упрощенный пример, который может принимать числа c или необработанные данные и выполнять простую арифметику c, как и ожидалось.
uint8 <- function(x)
{
if(class(x) == "uint8") x <- unclass(x)
if(is.raw(x)) x <- as.integer(x)
if(is.numeric(x)) x <- as.integer(x)
if(!is.integer(x)) stop("uint8 only takes numeric or raw types")
if(any(x >= 256 | x < 0)) stop("uint8 numbers must be between 0 and 255")
x <- floor(x)
class(x) <- "uint8"
return(x)
}
print.uint8 <- function(x) print(as.raw(x))
b02 <- uint8( 2)
b0a <- uint8( 10)
bff <- uint8(255)
b02
#> [1] 02
b0a
#> [1] 0a
b02 + b0a
#> [1] 0c
bff / b02
#> [1] 7f
Создано в 2020-02-24 с помощью Представить пакет (v0.3.0)