1

使用するときpairs()は、提案された関数panel.corand panel.hist(例で提案されています) を使用して、重複した上または下の三角形のスペースを排除し、追加の情報を提供するのが好きです。

次のようなものを使用してこれらの関数をソースしたいと思います

source(example(pairs, ask = F, echo = F))

出力を取得せず (: を含むError in readLines(file, warn = FALSE) : 'con' is not a connection)、サンプル プロットを印刷しません。これは可能ですか?

余談ですが、プロットを印刷しないようにしたい理由は、これをR Markdown ファイルで使用example(pairs)し、ドキュメント内のプロットを見る必要がないからです。

4

1 に答える 1

2

含まれていないチャンクを実行し、数字を保持しない可能性があります。コードが実行されると関数は使用可能になりますが、出力はドキュメントに含まれません。

```{r example_pairs, include = F, fig.keep = 'none'}
example(pairs)
```

```{r test}
exists('panel.cor')
```

出力は次のようになります

存在する ("panel.cor")
## [1] TRUE

panel.corグローバル環境に存在する、ご利用いただけます。

代替案を編集

give.lines引数を使用して、ソース コードを自分で保存することもできます。

.ex <- example(pairs, give.lines = T)
# find the code in question (look for assignment / scope delimiters)
which(grepl(.ex, pattern = "(panel.hist <-)|(panel.cor <-)|[{}]"))
##[1] 18 19 26 33 34 42

cat(.ex[c(18:26, 33:42)], sep = "\n")
panel.hist <- function(x, ...)
{
    usr <- par("usr"); on.exit(par(usr))
    par(usr = c(usr[1:2], 0, 1.5) )
    h <- hist(x, plot = FALSE)
    breaks <- h$breaks; nB <- length(breaks)
    y <- h$counts; y <- y/max(y)
    rect(breaks[-nB], 0, breaks[-1], y, col="cyan", ...)
}
panel.cor <- function(x, y, digits=2, prefix="", cex.cor, ...)
{
    usr <- par("usr"); on.exit(par(usr))
    par(usr = c(0, 1, 0, 1))
    r <- abs(cor(x, y))
    txt <- format(c(r, 0.123456789), digits=digits)[1]
    txt <- paste(prefix, txt, sep="")
    if(missing(cex.cor)) cex.cor <- 0.8/strwidth(txt)
    text(0.5, 0.5, txt, cex = cex.cor * r)
}
于 2012-08-29T04:02:17.693 に答える