Примечание. Связанный с этим вопрос не объясняет, почему attr(myVar, "class")
возвращает NULL
, но не list
(и почему class(myVar)
возвращает list
). Что такое стандартный путь в R, чтобы проверить класс объекта?Как определить класс объекта
Как узнать, является ли объект «моим пользовательским классом» или «списком» объектов «моего пользовательского класса»?
foo <- function(x) {
a=list(x=x)
attr(a, "class") <- "myclass"
return(a)
}
newVar = list(foo(10),foo(20))
Теперь я хочу узнать, какой класс newVar
.
attr(newVar, "class") # NULL, but not list!
#NULL
##however this works fine
attr(newVar[[1]], "class")
#[1] "myclass"
Почему это так? Что такое правильно способ определения класса в R?
Jut try 'class (newVar)' – akrun
'class (newVar)' дает 'list'. –
Возможный дубликат [Идентификация объекта R] (http://stackoverflow.com/questions/1177926/r-object-identification) –