2016-11-13 55 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 ...