views:

74

answers:

2

I wish to know what type of objects I've got in my environment.

I can show who is there like this:

ls()

But running something like

sapply(ls(), class)

Would (obviously) not tell us what type (class) of objects we are having (function, numeric, factor and so on...)

using

ls.str()

Will tell me what class my objects are, but I won't be able to (for example) ask for all the objects which are factors/data.frame/functions - and so on.

I can capture.output of ls.str(), but probably there is a smarter way - any idea what it is?

+8  A: 

This should do the trick:

sapply(ls(), function(x){class(get(x))})
nico
Bingo! (that's all)
Tal Galili
And just to quote official manual: `a <- get(nam)` is `assign(nam, a)`
aL3xa
+4  A: 

The lsos() function posted in this SO question answers the question too:

> lsos()
          Type Size Rows Columns
y   data.frame 1864   26       2
r    character  320    2      NA
txt  character  208    3      NA
x      integer   72   10      NA
> 
Dirk Eddelbuettel
Very nice - thank you!
Tal Galili