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?

Tal Galili
  • 24,605
  • 44
  • 129
  • 187

3 Answers3

11

This should do the trick:

sapply(ls(), function(x){class(get(x))})
nico
  • 50,859
  • 17
  • 87
  • 112
6

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
> 
Community
  • 1
  • 1
Dirk Eddelbuettel
  • 360,940
  • 56
  • 644
  • 725
0

You can also use the mget() function to get all objects at once

sapply(mget(ls()), class)
MrFlick
  • 195,160
  • 17
  • 277
  • 295