4

いくつかのダミー変数に基づいて、自動プロッターを作成しています。私はそれを次のように設定しました:

plotter <- function(...) { }

私が与えたすべてのダミーをプロットします。

ただし、プロットにラベル、つまり変数名を追加できるようにしたいと考えています。私はそれを知っています

deparse(substitute(variablename))

譲ります

"variablename"

これは始まりですが、複数の引数の場合はどうすればよいですか? 可能ですか?回避策はありますか?

4

1 に答える 1

11

names(list(...))によって吸収された、指定された引数の名前を含む文字ベクトルを取得します...

plotter <- function(...) {names(list(...))}
plotter(x=1:4, y=11:14)
# [1] "x" "y"

または、名前のない引数を渡したい場合は、これを試してください(@baptisteの削除された回答を拡張します):

plotter <- function(..., pch=16, col="red") {
    nms <- setdiff(as.character(match.call(expand.dots=TRUE)), 
                   as.character(match.call(expand.dots=FALSE)))
    nms
}

x <- 1:4
y <- 1:14
plotter(x, y, col="green")
# [1] "x" "y"
于 2013-05-29T16:35:53.270 に答える