3 回答

TA貢獻(xiàn)1805條經(jīng)驗(yàn) 獲得超9個(gè)贊
一個(gè)讓您入門的小例子。
f <- function(x, ...)
{
dots <- list(...) #1
if(length(dots) == 0) return(NULL)
cat("The arguments in ... are\n")
print(dots)
f(...) #2
}
f(1,2,3,"a", list("monkey"))
函數(shù),f將第一個(gè)輸入?yún)?shù)以外的所有參數(shù)存儲在省略號變量中。為了訪問其內(nèi)容,最簡單的方法是將其轉(zhuǎn)換為列表(1)。但是,主要用途是將參數(shù)傳遞給子函數(shù),而無需進(jìn)行轉(zhuǎn)換(2)。

TA貢獻(xiàn)1946條經(jīng)驗(yàn) 獲得超3個(gè)贊
您應(yīng)該轉(zhuǎn)到“ R語言定義”的第2.1.9節(jié)Dot-dot-dot。它與R安裝捆綁在一起。help.start()在交互式會(huì)話中運(yùn)行以啟動(dòng)HTML幫助,然后單擊“ R語言定義”鏈接。您也可以從主站點(diǎn)使用PDF或HTML版本。
無論如何,...用于匹配函數(shù)的未指定形式參數(shù)。
args(sapply)
function (X, FUN, ..., simplify = TRUE, USE.NAMES = TRUE)
NULL
sapply(mtcars, mean, trim = .5)
mpg cyl disp hp drat wt qsec vs am gear
19.200 6.000 196.300 123.000 3.695 3.325 17.710 0.000 0.000 4.000
carb
2.000
如您所見,trim = .5盡管沒有將其指定為sapply函數(shù)的形式參數(shù),但我還是通過了。
(請注意,此示例是微不足道的,可以sapply(mtcars, median)用來實(shí)現(xiàn)相同的結(jié)果)
- 3 回答
- 0 關(guān)注
- 522 瀏覽
添加回答
舉報(bào)