29

データ フレームの各列の一意の値の数を取得したいと考えています。次のデータフレームがあるとしましょう:

DF <- data.frame(v1 = c(1,2,3,2), v2 = c("a","a","b","b"))

次に、v1 には 3 つの異なる値があり、v2 には 2 つの値があることを返す必要があります。

unique(DF)を試してみましたが、行ごとに違うのでうまくいきません。

4

9 に答える 9

29

または使用unique

rapply(DF,function(x)length(unique(x)))
v1 v2 
 3  2 
于 2013-11-04T07:38:27.143 に答える
8
sapply(DF, function(x) length(unique(x)))
于 2015-01-07T16:07:19.973 に答える
5

1 つのアプローチを次に示します。

> lapply(DF, function(x) length(table(x)))
$v1
[1] 3

$v2
[1] 2

これは基本的に、列ごとの一意の値を集計します。on を使用lengthすると、番号がわかります。削除lengthすると、一意の値の実際のテーブルが表示されます。

于 2013-11-04T05:07:35.183 に答える
0

これは、各変数の一意の値を取得するために機能するはずです。

length(unique(datasetname$variablename))
于 2018-03-02T12:50:25.000 に答える