Rベクトル化:各行に値を割り当て、すべての行の列インデックスに基づいて列を差分します

無作為抽出

40000行9列のAの行列と、40000項目のベクトルBがあります。Bの各項目は1から9までの数字です。Bの項目に対応するAの特定の列に1を割り当てたいと思います。現在、forループを使用しています。

for(r in 1:40000){
   A[r,B[r]]=1
}

しかし、それをベクトル化する方法はありますか?ありがとう

akrun

あなたは試すことができます

A[cbind(1:nrow(A), B)] <- 1

OPのコードで結果を確認する

 for(r in 1:nrow(A1)){
  A1[r, B[r]] <- 1
  }
 identical(A, A1)
#[1] TRUE

ここでは、で作成した行列を使用しcbindます。差出人?"["

[単一の引数で配列にインデックスを付ける場合、iはxの次元と同じ数の列を持つ行列にすることができます。結果は、iの各行のインデックスのセットに対応する要素を持つベクトルになります。

データ

set.seed(24)
A <- matrix(sample(1:40, 25*9, replace=TRUE), ncol=9)
B <- sample(1:9, 25, replace=TRUE)
A1 <- A

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

行と列のインデックスベクトルに基づいて新しい行列値を割り当てます

分類Dev

インデックスのリストに基づいて列に値を割り当てます

分類Dev

別のベクトルのインデックスの値に基づいて列をマージします

分類Dev

インデックスのベクトルに基づいて、特定のデータテーブルの行番号に値を効率的に割り当てます

分類Dev

名前のベクトルに基づいて列のインデックスを取得します(R)

分類Dev

列インデックスのベクトルに基づいてdata.table値を選択します

分類Dev

R-各行の関数に基づいて行列の列インデックスを取得します

分類Dev

Rの別のベクトルのインデックスに基づいてdfの列の値を変更します

分類Dev

R:インデックスのリストに基づいていくつかの文字列ベクトル要素を一緒に貼り付けます

分類Dev

別の行のイベントに基づいて、データフレームの行に値を割り当てる列を作成します

分類Dev

パンダはインデックス値に基づいてラベルを割り当てます

分類Dev

複数の値に基づいてRの3D配列のインデックスを返します

分類Dev

レーベンシュタイン距離に基づいて、Rの同様の行に一意のインデックスを割り当てます

分類Dev

値に基づいて配列のインデックスを使用して配列を作成します

分類Dev

列インデックスによって指定された列の共通値に基づいて、Rの複数の行を集約します

分類Dev

パンダは、受信するライブデータのインデックスに基づいて新しい行に値を割り当てます

分類Dev

部分文字列に基づいて行をグループ化し、列の値を割り当てます

分類Dev

行の値に基づいて(インデックス、列)ペアを取得します

分類Dev

R-(ベクトル内の)列名とそれらの列の特定の値に基づいて行をサブセット化します

分類Dev

別のテンソルからのインデックスに基づいて新しいテンソルを作成し、その値を割り当てます

分類Dev

ベクトルから数値を選択し、Rの複数の条件に基づいて列に割り当てます

分類Dev

R:値の列を複数の新しい列に集約します。各列はインデックス列に基づいています

分類Dev

セルインデックス(行と列の番号)に基づいてセルを合計します

分類Dev

df列を反復処理し、行インデックス、列参照に基づいてデータフレームの戻り値を返します

分類Dev

インデックス値に基づいて、1つの特定の列の特定の値を削除します

分類Dev

列番号と個別のインデックスベクトルに基づいてデータテーブルの値を置き換えます

分類Dev

Rに文字列として格納されているネストされたリストのインデックスに値を割り当てます

分類Dev

Rの2つのインデックスに基づいて、各行のdata.frameの列の範囲を取得します

分類Dev

文字列のベクトルの変換:前の値に基づいて要素をスキップします

Related 関連記事

  1. 1

    行と列のインデックスベクトルに基づいて新しい行列値を割り当てます

  2. 2

    インデックスのリストに基づいて列に値を割り当てます

  3. 3

    別のベクトルのインデックスの値に基づいて列をマージします

  4. 4

    インデックスのベクトルに基づいて、特定のデータテーブルの行番号に値を効率的に割り当てます

  5. 5

    名前のベクトルに基づいて列のインデックスを取得します(R)

  6. 6

    列インデックスのベクトルに基づいてdata.table値を選択します

  7. 7

    R-各行の関数に基づいて行列の列インデックスを取得します

  8. 8

    Rの別のベクトルのインデックスに基づいてdfの列の値を変更します

  9. 9

    R:インデックスのリストに基づいていくつかの文字列ベクトル要素を一緒に貼り付けます

  10. 10

    別の行のイベントに基づいて、データフレームの行に値を割り当てる列を作成します

  11. 11

    パンダはインデックス値に基づいてラベルを割り当てます

  12. 12

    複数の値に基づいてRの3D配列のインデックスを返します

  13. 13

    レーベンシュタイン距離に基づいて、Rの同様の行に一意のインデックスを割り当てます

  14. 14

    値に基づいて配列のインデックスを使用して配列を作成します

  15. 15

    列インデックスによって指定された列の共通値に基づいて、Rの複数の行を集約します

  16. 16

    パンダは、受信するライブデータのインデックスに基づいて新しい行に値を割り当てます

  17. 17

    部分文字列に基づいて行をグループ化し、列の値を割り当てます

  18. 18

    行の値に基づいて(インデックス、列)ペアを取得します

  19. 19

    R-(ベクトル内の)列名とそれらの列の特定の値に基づいて行をサブセット化します

  20. 20

    別のテンソルからのインデックスに基づいて新しいテンソルを作成し、その値を割り当てます

  21. 21

    ベクトルから数値を選択し、Rの複数の条件に基づいて列に割り当てます

  22. 22

    R:値の列を複数の新しい列に集約します。各列はインデックス列に基づいています

  23. 23

    セルインデックス(行と列の番号)に基づいてセルを合計します

  24. 24

    df列を反復処理し、行インデックス、列参照に基づいてデータフレームの戻り値を返します

  25. 25

    インデックス値に基づいて、1つの特定の列の特定の値を削除します

  26. 26

    列番号と個別のインデックスベクトルに基づいてデータテーブルの値を置き換えます

  27. 27

    Rに文字列として格納されているネストされたリストのインデックスに値を割り当てます

  28. 28

    Rの2つのインデックスに基づいて、各行のdata.frameの列の範囲を取得します

  29. 29

    文字列のベクトルの変換:前の値に基づいて要素をスキップします

ホットタグ

アーカイブ