データ フレームの各列の一意の値の数を取得したいと考えています。次のデータフレームがあるとしましょう:
DF <- data.frame(v1 = c(1,2,3,2), v2 = c("a","a","b","b"))
次に、v1 には 3 つの異なる値があり、v2 には 2 つの値があることを返す必要があります。
unique(DF)を試してみましたが、行ごとに違うのでうまくいきません。
または使用unique
:
rapply(DF,function(x)length(unique(x)))
v1 v2
3 2
sapply(DF, function(x) length(unique(x)))
1 つのアプローチを次に示します。
> lapply(DF, function(x) length(table(x)))
$v1
[1] 3
$v2
[1] 2
これは基本的に、列ごとの一意の値を集計します。on を使用length
すると、番号がわかります。削除length
すると、一意の値の実際のテーブルが表示されます。
これは、各変数の一意の値を取得するために機能するはずです。
length(unique(datasetname$variablename))