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って、スゴイな。