tags:

views:

106

answers:

4

I'm looking for a function to dump variables and objects, with human readable explanations of their data types. For instance, in php var_dump does this.

$foo = array();
$foo[] = 1;
$foo['moo'] = 2;

var_dump($foo);

Yields:

array(2) { [0]=> int(1) ["moo"]=> int(2) }

A: 

print is probably the easiest function to use out of the box; most classes provide a customised print. They might not specifically name the type, but will often provide a distinctive form.

Otherwise, you might be able to write custom code to use the class and datatype functions to retrieve the information you want.

a1kmm
+5  A: 

Check out the dump command:

> x <- c(8,6,7,5,3,0,9)
> dump("x", "")
x <-
c(8, 6, 7, 5, 3, 0, 9)
Jonathan Chang
+3  A: 

I think you want 'str' which tells you the structure of an r object.

hadley
+2  A: 

A few examples:

foo <- data.frame(1:12,12:1) 
foo ## What's inside?
dput(foo) ## Details on the structure, names, and class
str(foo) ## Gives you a quick look at the variable structure

Output on screen:

foo <- data.frame(1:12,12:1)

foo
   X1.12 X12.1
1      1    12
2      2    11
3      3    10
4      4     9
5      5     8
6      6     7
7      7     6
8      8     5
9      9     4
10    10     3
11    11     2
12    12     1

> dput(foo)

structure(list(X1.12 = 1:12, X12.1 = c(12L, 11L, 10L, 9L, 8L, 
7L, 6L, 5L, 4L, 3L, 2L, 1L)), .Names = c("X1.12", "X12.1"), row.names = c(NA, 
-12L), class = "data.frame")

> str(foo)

'data.frame':   12 obs. of  2 variables:
 $ X1.12: int  1 2 3 4 5 6 7 8 9 10 ...
 $ X12.1: int  12 11 10 9 8 7 6 5 4 3 ...
Brandon Bertelsen