2016-11-13 1 views
0

함수 f에서 명명 된 목록을 반환하려고합니다. 예를 들어, f (args)를 호출하면 x 및 y라는 변수의 이름이 지정된 목록이 표시됩니다. 함수의 끝에서 return (list (x = x, y = y))을 사용합니다.R - 콘솔에 출력하지 않고 이름있는 목록을 반환하는 방법

$x 
[1] 1 2 

$y 
[1] 12 

위의 출력은 항상 전체 목록의 값을 콘솔에 인쇄합니다. $ x는 매우 큰 행렬 값을 가질 수 있기 때문에 이것을 피하고 싶습니다. 모델 < -f (args)를 정의하고 모델을 콘솔에 입력 할 때 $ x 값에서 인쇄를 보류하는 방법이 있습니까? 대신, 모델 x $로 x에 액세스하려고합니다.

+0

그냥 할당합니다. –

답변

0

사용 invisible :

f <- function(x, y) { 
    invisible(list(x, y)) 
} 

f(rnorm(1e4), rnorm(1e4)) 
## (nothing) 

str(f(rnorm(1e4), rnorm(1e4))) 
# List of 2 
# $ : num [1:10000] 2.402 0.51 -1.117 0.415 0.849 ... 
# $ : num [1:10000] -0.642 0.967 -0.328 -0.33 -0.914 ... 
관련 문제