我正在研究一個要測驗三個時間序列的正態性的函式。我創建了以下功能:
par(mfrow = c(3,2))
graphicalnormality = function(x){
plotNormalHistogram(x)
normstats = c(mean(x), median(x), quantile(x, c(0.1, 0.9)))
abline(v = normstats, col = 'red', lwd = 2)
qqnorm(x)
qqline(x)
}
graphicalnormality(OBX)
graphicalnormality(DNB)
graphicalnormality(DNO)
這是一個非常簡單的函式,它可以按照我想要的方式作業,但是由于我有點挑剔,而且我不確定它與 RMarkdown 的作業情況如何,所以我不想運行該函式三次得到我所有三個測驗的情節。所以我的問題是,是否有可能一次性為所有三個資料集運行該函式?
uj5u.com熱心網友回復:
您可以修改函式以采用任意數量的向量,如下所示:
graphicalnormality = function(...) {
dfs <- lapply(as.list(match.call())[-1], eval)
for(x in dfs) {
rcompanion::plotNormalHistogram(x)
normstats = c(mean(x), median(x), quantile(x, c(0.1, 0.9)))
abline(v = normstats, col = 'red', lwd = 2)
qqnorm(x)
qqline(x)
}
}
所以你可以這樣做:
par(mfrow = c(3,2))
graphicalnormality(OBX, DNB, DNC)

資料
OBX <- rnorm(100)
DNB <- rnorm(100)
DNC <- rnorm(100)
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/460011.html
上一篇:制作一個包含所有可能組合的表格
