2013-01-10 3 views
4

Je me demande s'il y a un moyen d'imprimer des objets d'une manière « interprète lisible », qui ferait quelque chose qui ressemble à ceci:impression « interprète lisible » (en R)

> x <- c(1:5,8) 
> print.ir(x) 
c(1,2,3,4,5,8) 
> x <- matrix(1:4, ncol=2) 
> print.ir(x) 
matrix(c(1,2,3,4), ncol=2, nrow=2) 

Alors que le résultat pourrait être copié-collé dans un script R ou dans une autre session R.

+3

Il est appelé 'dput()' – Andrie

+0

... et sa ce que nous aimons utiliser sur le SO pour les petits exemples de données afin nous pouvons les coller dans R. – Spacedman

Répondre

5

Utilisez dput() pour cela:

x <- c(1:5,8) 
dput(x) 
c(1, 2, 3, 4, 5, 8) 

x <- matrix(1:4, ncol=2) 
dput(x) 
structure(1:4, .Dim = c(2L, 2L)) 

Essayez-le:

z <- structure(1:4, .Dim = c(2L, 2L)) 
z 
    [,1] [,2] 
[1,] 1 3 
[2,] 2 4 
+0

Merci beaucoup. Pourquoi ce n'est pas dans la section 'voir aussi' des pages de manuel de 'str' ou 'print' est un mystère ... – Elvis

+0

@Elvis Il est, en fait, dans la Description de'? Str', mais je d'accord, il y a beaucoup de possibilités d'amélioration dans les docs. – Andrie

+0

Oh oui. Comme je sais ce que «str» est pour, je n'ai pas cherché cette information dans la description :) La plupart de la documentation de R est bonne et la plupart du temps je suis heureux avec elle, en particulier j'apprécie qu'il cite la bibliographie pour les méthodes et les algorithmes. – Elvis