Я часто в конечном итоге с функцией производства выход, для которого я не понимаю, тип выходных данных. Я ожидаю список, и он заканчивается в списке списков или кадр данных или что-то еще. Каков хороший метод или рабочий процесс для выяснения типа выходных данных при первом использовании функции?
Идентификация R-объектов
Ответ на: "Идентификация R-объектов"
Количество ответов:4
Если я получаю "someObject", скажем, через
someObject <- myMagicFunction(...)
, то я обычно продолжают
class(someObject)
str(someObject)
, которые могут сопровождаться головой (), резюме (), печать (), ... в зависимости от класса у вас есть.
attributes(someObject)
также может быть полезным
Я обычно начинаю с некоторой комбинации:
typeof(obj)
class(obj)
sapply(obj, class)
sapply(obj, attributes)
attributes(obj)
names(obj)
по мере необходимости на основе того, что выявлено. Например, попробуйте с:
obj <- data.frame(a=1:26, b=letters)
obj <- list(a=1:26, b=letters, c=list(d=1:26, e=letters))
data(cars)
obj <- lm(dist ~ speed, data=cars)
. Др.
Если obj
is an S3 or S4 object, you can also try является объектом S3 или S4, вы также можете попробовать methods
or или showMethods
, , showClass
, etc. Patrick Burns' и т.д. Патрик Бернс R Inferno has a pretty good section on this (sec #7). имеет довольно хороший раздел по этому вопросу (#7).
EDIT : Дирк и Хэдли упомянуть str(obj)
in their answers. It really is much better than any of the above for a quick and even detailed peek into an object. в своих ответах. Это действительно гораздо лучше, чем любой из вышеперечисленных для быстрого и даже подробно заглянуть в объект.
str(x)
Это все, что вам нужно запомнить в 99% случаев.