2016-06-19 2 views
1

У меня есть список со многими объектами (кадры данных, объекты R6 и т. Д.) В нем, я хотел бы, чтобы только «некоторые» из списков были напечатаны, когда print метод вызывается в списке. Каков наилучший способ достичь этого?R дискреционная печать элементов списка по умолчанию

ответ

2

Вы можете добавить пользовательские class к объекту и создать метод печати для этого класса:

x <- list(A=rnorm(5),B=sample(letters,100,replace=TRUE),C=mtcars) 
class(x) <- c("myclass",class(x)) 
print.myclass <- function(x) { 
       print(list(A=prettyNum(x$A,digits=2), B=table(x$B))) 
       } 
x 
$A 
[1] "-0.86" "-0.6" "0.76" "-0.2" "-0.92" 

$B 

a b c d e f g i j k l m n o p q r s t u v w x y z 
4 3 3 11 3 6 2 3 6 5 3 3 5 3 1 1 7 4 2 3 5 5 2 7 3 
Смежные вопросы