類似性のパーセンテージを計算するか、3つ以上のオブジェクト間の相関を計算します

ハルーン・ラシッド

私が4つのオブジェクト(a,b,c,dを持っていると考えてください。そして、5人に、それらの外観などに応じてそれらにラベルを付けるように依頼します(カテゴリ1または2)。これらのオブジェクトに対して5人が提供するラベルは次のように表示されます。

df <- data.frame(a = c(1,2,1,2,1), b=c(1,2,2,1,1), c= c(2,1,2,2,2), d=c(1,2,1,2,1))

表形式では、

 ---------
  a b c d
 ---------
  1 1 2 1
  2 2 1 2
  1 2 2 1
  2 1 2 2
  1 1 2 1
----------

ここで、オブジェクトのグループに同じラベル(1または2)が付けられた回数のパーセンテージを計算したいと思います。たとえば、オブジェクトa、b、dには、5人中3人が同じラベルを付けました。だから、その割合は3/5(= 60%)です。オブジェクトaとdにはすべての人が同じラベルを付けているので、その割合は5/5(= 100%)です。

この統計を手動で計算できますが、元のデータセットには、そのようなオブジェクトが50個あり、人は30人、ラベルは4(1、2、3、および4)です。この大きなデータセットのそのような統計を自動的に計算するにはどうすればよいですか?Rそのような統計を計算できる既存のパッケージ/ツールはありますか?

注:グループは、任意のサイズとすることができます。最初の例では、グループはa、b、およびdで構成され、2番目の例ではグループはaとdで構成されます。

アリステア

ここには2つのタスクがあります。1つは、関連するすべての組み合わせのリストを作成すること、もう1つは、行ごとの類似性を評価および集計することです。combn最初のタスクを開始できますが、結果をきちんとしたリストにまとめるには少しマッサージが必要です。2番目のタスクはで処理できますがprop.table、ここでは直接計算する方が簡単です。

ここではtidyverse文法(主にpurrr、リストの処理に役立ちます)を使用しましたが、必要に応じてベースに変換します。

library(tidyverse)

map(2:length(df), ~combn(names(df), .x, simplify = FALSE)) %>%    # get combinations
    flatten() %>%    # eliminate nesting
    set_names(map_chr(., paste0, collapse = '')) %>%    # add useful names
    # subset df with combination, see if each row has only one unique value
    map(~apply(df[.x], 1, function(x){n_distinct(x) == 1})) %>% 
    map_dbl(~sum(.x) / length(.x))    # calculate TRUE proportion

##   ab   ac   ad   bc   bd   cd  abc  abd  acd  bcd abcd 
##  0.6  0.2  1.0  0.2  0.6  0.2  0.0  0.6  0.2  0.0  0.0 

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

文字列の類似性をパーセンテージで計算する

分類Dev

オブジェクトのパーセンテージを計算する

分類Dev

ヒストグラム間の類似性のパーセンテージを計算する方法(特徴ベクトル)

分類Dev

調査オブジェクトの値のパーセンテージ/頻度を計算します

分類Dev

行の類似性のパーセンテージをペアごとに計算し、それを新しい列として追加します

分類Dev

2つの値の間のパーセンテージを計算する

分類Dev

2つのオブジェクト間のバンク角を計算する

分類Dev

2つの値の間のパーセンテージを計算します(合計の場合)

分類Dev

STDistance –2つのオブジェクト間の距離を計算します

分類Dev

MYSQL 3つのテーブルを結合し、累積パーセンテージを計算します

分類Dev

2つのSwiftDateオブジェクト間のパーセンテージの計算

分類Dev

オブジェクト内のプロパティの合計期間を計算します

分類Dev

mongodbは、オブジェクトフィールドの2つの属性間の差を計算します

分類Dev

Rの民族性のパーセンテージを計算します

分類Dev

クラスのパーセンテージをdictで計算しますか?

分類Dev

合計を計算し、次に行ごとの合計のパーセンテージを計算します

分類Dev

2つの値と3番目の値の範囲間のパーセンテージを計算する方法

分類Dev

「in」プロパティを使用してオブジェクトにキーが存在するかどうかを確認するための時間計算量

分類Dev

データフレームの行間の類似性を計算します(共通のカウント値)

分類Dev

テーブルの列間の相関を計算する

分類Dev

3つ以上のデータポイント間の方位を計算します

分類Dev

モーメントjsを使用して、配列内のすべてのオブジェクトのすべての期間の合計を計算します

分類Dev

ドキュメントのクラスターが与えられた場合、コーパスとクラスター間の類似性を計算します

分類Dev

テストオブジェクトとすべてのトレーニングオブジェクト間の距離を計算する方法

分類Dev

パーセンテージに基づいて2つの座標間の点を計算します(球形)

分類Dev

パーセンテージに基づいて2つの座標間の点を計算します(球形)

分類Dev

quanteda:2つのDFM間の行ごとにテキストの類似性を計算します

分類Dev

カウント合計のパーセンテージを計算する

分類Dev

2つのテキストドキュメント間の類似性を計算する方法は?

Related 関連記事

  1. 1

    文字列の類似性をパーセンテージで計算する

  2. 2

    オブジェクトのパーセンテージを計算する

  3. 3

    ヒストグラム間の類似性のパーセンテージを計算する方法(特徴ベクトル)

  4. 4

    調査オブジェクトの値のパーセンテージ/頻度を計算します

  5. 5

    行の類似性のパーセンテージをペアごとに計算し、それを新しい列として追加します

  6. 6

    2つの値の間のパーセンテージを計算する

  7. 7

    2つのオブジェクト間のバンク角を計算する

  8. 8

    2つの値の間のパーセンテージを計算します(合計の場合)

  9. 9

    STDistance –2つのオブジェクト間の距離を計算します

  10. 10

    MYSQL 3つのテーブルを結合し、累積パーセンテージを計算します

  11. 11

    2つのSwiftDateオブジェクト間のパーセンテージの計算

  12. 12

    オブジェクト内のプロパティの合計期間を計算します

  13. 13

    mongodbは、オブジェクトフィールドの2つの属性間の差を計算します

  14. 14

    Rの民族性のパーセンテージを計算します

  15. 15

    クラスのパーセンテージをdictで計算しますか?

  16. 16

    合計を計算し、次に行ごとの合計のパーセンテージを計算します

  17. 17

    2つの値と3番目の値の範囲間のパーセンテージを計算する方法

  18. 18

    「in」プロパティを使用してオブジェクトにキーが存在するかどうかを確認するための時間計算量

  19. 19

    データフレームの行間の類似性を計算します(共通のカウント値)

  20. 20

    テーブルの列間の相関を計算する

  21. 21

    3つ以上のデータポイント間の方位を計算します

  22. 22

    モーメントjsを使用して、配列内のすべてのオブジェクトのすべての期間の合計を計算します

  23. 23

    ドキュメントのクラスターが与えられた場合、コーパスとクラスター間の類似性を計算します

  24. 24

    テストオブジェクトとすべてのトレーニングオブジェクト間の距離を計算する方法

  25. 25

    パーセンテージに基づいて2つの座標間の点を計算します(球形)

  26. 26

    パーセンテージに基づいて2つの座標間の点を計算します(球形)

  27. 27

    quanteda:2つのDFM間の行ごとにテキストの類似性を計算します

  28. 28

    カウント合計のパーセンテージを計算する

  29. 29

    2つのテキストドキュメント間の類似性を計算する方法は?

ホットタグ

アーカイブ