Мои исследования до сих пор
Большинство статей обсуждают разницу между class
и typeof
, но я не нашел много различий между mode
, storage.mode
и typeof
.В чем разница (с точки зрения идеи) режима, storage.mode, typeof в R?
Я получаю, что mode
, storage.mode
и typeof
более похожи и class
- это совсем другое. Я понимаю, что первые два звонят typeof
, и я понимаю, что они обрабатывают определенные типы несколько иначе (я даже знаю, какие и как). То, что я хотел бы знать, это то, что есть идея.
Минимальный рабочий пример
library(data.table)
my_vector_boolean <- c(TRUE, FALSE, T, F)
my_vector_integer <- c(1L, 2L, 3L)
my_vector_character <- c("a", "b", "abc")
my_vector_factor <- as.factor(c("a", "b", "c"))
my_list <- list(a=1, b=2L, c="c")
my_matrix <- matrix(c(1,2,3, 11,12,13), nrow = 2, ncol = 3, byrow = TRUE,
dimnames = list(c("row1", "row2"), c("col1", "col2", "col3")))
my_dataframe <- data.frame(1, 1L:10L, sample(3, 10, replace = TRUE))
my_datatable <- data.table(1, 1L:10L, sample(3, 10, replace = TRUE))
datatypeslist <- list(
my_vector_boolean = my_vector_boolean,
my_vector_integer = my_vector_integer,
my_vector_character = my_vector_character,
my_vector_factor = my_vector_factor,
my_list = my_list,
my_matrix = my_matrix,
my_dataframe = my_dataframe,
my_datatable = my_datatable
)
multi.sapply <- function(...) {
arglist <- match.call(expand.dots = FALSE)$...
var.names <- sapply(arglist, deparse)
has.name <- (names(arglist) != "")
var.names[has.name] <- names(arglist)[has.name]
arglist <- lapply(arglist, eval.parent, n = 2)
x <- arglist[[1]]
arglist[[1]] <- NULL
result <- sapply(arglist, function (FUN, x) sapply(x, FUN), x)
colnames(result) <- var.names[-1]
return(result)
}
multi.sapply(datatypeslist, typeof, storage.mode, mode, class)
Я ищу
Какой ответ я являюсь не ищет:. "mode
и storage.mode
ручкой single
иначе
Каких ответ I am loking for: "typeof
- это тип данных, который используется в основанная на C, тогда как mode
- это тип данных, который ... и storage.mode
- это тип данных, которые ... »
Кроме того, я был бы признателен за дифференциацию терминов« режим »и« тип », которые были использованы в руководства и учебные пособия. Например, было сказано, что typeof
возвращает режим объекта данных - что мне кажется сбивающим с толку.
Я надеюсь, что вопрос был конкретным/достаточно ясным. Скажите, пожалуйста, что было неясно, до голосования или голосования для голосования.
Ну, [Hadley говорит, что это] (http://adv-r.had.co.nz/OO-essentials.html): «Возможно, вы слышали о режиме'() 'и' хранения. режим() '.Я рекомендую игнорировать эти функции, потому что они просто псевдонимы имен, возвращаемых 'typeof()', ** и существуют исключительно для S-совместимости **. «Если я правильно понимаю последний бит вашего сообщения, это приближается к виду Редактировать: Кроме того, возможно, документация R помогает: [здесь] (http://stat.ethz.ch/R-manual/R-devel/doc/manual/R-lang.html#Objects) – Laterow
@ Laterow: Да, я думаю, что это очень помогает. Связанная с R документация была прочитана мной, но на вопрос не ответила. Ссылка на Хэдли более полезна. Если вам нравится, вы можете сделать Ответ на этот вопрос: – Make42
@Laterow: Возможно, вы можете объяснить разницу терминов «тип» и «режим» в учебниках (см. вопрос). – Make42