Rで引数がvectorの時にdata.frameとして扱う方法
ところで、function()で指定している引数(df)が、data.frameかvectorか?を判別する方法はあるだろうか?nrow(df)が1になった時は、vectorと判断して、各要素間でdist()するようにして、nrow(df)が1でない時は、各行をrbindしてdist()するようにする、、、とか、そういう方針で良いのかな?と思いつつ、そういうif文をRではどうやって書くのだろう?のレベルで悩む、、、、。
(Rでdata.frame間の距離を測ってmatrixにする - fukuitの日記)
案外、簡単だった。
myfunc <- function(df){ if (!is.data.frame(df)) { df <- as.data.frame(df) } ... }
行数数えて、、、、とか、する必要ない。Rって、スゴイな。