R object identification

前端 未结 4 906
梦如初夏
梦如初夏 2020-12-04 05:10

I am often ending up with a function producing output for which I don\'t understand the output data type. I\'m expecting a list and it ends up being a list of lists or a dat

4条回答
  •  暖寄归人
    2020-12-04 05:57

    I usually start out with some combination of:

    typeof(obj)
    class(obj)
    sapply(obj, class)
    sapply(obj, attributes)
    attributes(obj)
    names(obj)
    

    as appropriate based on what's revealed. For example, try with:

    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)
    

    ..etc.

    If obj is an S3 or S4 object, you can also try methods or showMethods, showClass, etc. Patrick Burns' R Inferno has a pretty good section on this (sec #7).

    EDIT: Dirk and Hadley mention 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.

提交回复
热议问题