R-データフレーム内のデータを2列でグループ化し、新しいデータフレームに再配置します

suru

私はデータフレームfooを持っています:

   A  B  C
1  x  m  2
2  x  n  3
3  x  o  11
4  y  m  5
5  y  o  8

編集:私に思い出させてくれた@akrunに感謝し、このdfを生成するコードを追加します:

foo <- structure(list(A = c("x", "x", "x", "y", "y"), 
       B = c("m", "n", "o", "m", "o"), C = c(2L, 3L, 11L, 5L, 8L)), 
       class = "data.frame", row.names = c("1", "2", "3", "4", "5"))

そこから、Aの値を行名、Bの値を列名、エントリとしてCの値を次のように使用して、新しいデータフレームを作成します。

   m  n  o
x  2  3  11
y  5  NA 8

これまでのところ、aggregate()関数を見つけました

aggregate(.~A, foo, FUN=toString)

これは私にこのようなsthを与えます(しかしそれはBの文字を数字に変換します)そして私がここで必要とするものではありません:

   A  B      C
1  x  1,2,3  2,3,11
2  y  1,3    5,8

SOで、同様の問題に対するdplyrパッケージとgroup_byを提案する回答を見つけましたが、これを問題に適応させる方法に頭を悩ませることはできませんでした。私が何かを見落としたら申し訳ありません、何か提案をありがとう!

ベン

tidyverse解決策を追求したい場合はpivot_widerから使用できますtidyr

編集column_to_rownames列Aを行名に移動するために追加さました。

library(tidyverse)

foo %>%
  pivot_wider(id_cols = A, names_from = B, values_from = C) %>%
  column_to_rownames("A")

出力

  m  n  o
x 2  3 11
y 5 NA  8

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

データフレーム内の2つの列を結合し、Rの既存のデータフレーム内に新しい列を作成します

分類Dev

Rはデータフレームを再配置します:いくつかの行を列に

分類Dev

R:ランクに基づいてデータフレームの列を再配置します

分類Dev

ループ内のデータフレームをサブセット化してRで新しいデータフレームを作成し、i値に基づいて各データフレーム名を割り当てたい

分類Dev

セルから文字列を抽出し、それを新しいデータフレームRに配置します

分類Dev

r別の列でグループ化された要素を行で一致させる新しいデータフレームを作成します

分類Dev

R:データフレームの1列をグループ化/ループします

分類Dev

R:新しいデータフレームの作成行は別のデータフレームの列です

分類Dev

データフレームをフィルタリングして新しいデータフレームに分割する方法はRにありますか?

分類Dev

Rの別の列のグループ化された値によるカウントで新しいデータフレームを作成する

分類Dev

R-データフレームをアンスタックし、2列のみの新しいデータフレームを作成します

分類Dev

Rの2番目のデータフレームからのデータフレームのリストに新しい列を割り当てます

分類Dev

データフレーム内のグループの線形モデルを実行し、Rのデータフレームに出力を格納する

分類Dev

データフレーム内のグループの線形モデルを実行し、Rのデータフレームに出力を格納する

分類Dev

R:forループでデータフレームを初期化/作成します

分類Dev

Rデータフレーム列をベクトルとして新しい列にマージします

分類Dev

R-別のデータフレームの一致する値を使用して、データフレームに新しい列を追加します

分類Dev

グループごとに集計し、Rのデータフレームに列を追加します

分類Dev

R:拡張された方法でデータフレームから列を再配置します

分類Dev

Rの使用-別のデータフレームのグループ最大値に基づいてデータフレームを再形成します

分類Dev

Rの既存のデータフレーム列にデータフレームの列を追加しますか?

分類Dev

Rと数値irの2つのグループ内の列を並べ替えてデータフレームを配置します

分類Dev

R:1つのデータフレーム内の値のセットをループして、2番目のデータフレームを更新します

分類Dev

データフレームをサブセット化し、アイテムをRの新しい列に配置します

分類Dev

データフレームのリストからRの配列にデータを効率的に再配置しますか?

分類Dev

データフレームのリストで発生をカウントし、結果をRの新しいデータフレームに保存します

分類Dev

rのデータフレームのリスト内の各データフレームの最後にデータフレームを追加します

分類Dev

Rのデータフレームの行を再配置する

分類Dev

Rはデータフレームを再配置します:いくつかの列アイテムをリストに入れます

Related 関連記事

  1. 1

    データフレーム内の2つの列を結合し、Rの既存のデータフレーム内に新しい列を作成します

  2. 2

    Rはデータフレームを再配置します:いくつかの行を列に

  3. 3

    R:ランクに基づいてデータフレームの列を再配置します

  4. 4

    ループ内のデータフレームをサブセット化してRで新しいデータフレームを作成し、i値に基づいて各データフレーム名を割り当てたい

  5. 5

    セルから文字列を抽出し、それを新しいデータフレームRに配置します

  6. 6

    r別の列でグループ化された要素を行で一致させる新しいデータフレームを作成します

  7. 7

    R:データフレームの1列をグループ化/ループします

  8. 8

    R:新しいデータフレームの作成行は別のデータフレームの列です

  9. 9

    データフレームをフィルタリングして新しいデータフレームに分割する方法はRにありますか?

  10. 10

    Rの別の列のグループ化された値によるカウントで新しいデータフレームを作成する

  11. 11

    R-データフレームをアンスタックし、2列のみの新しいデータフレームを作成します

  12. 12

    Rの2番目のデータフレームからのデータフレームのリストに新しい列を割り当てます

  13. 13

    データフレーム内のグループの線形モデルを実行し、Rのデータフレームに出力を格納する

  14. 14

    データフレーム内のグループの線形モデルを実行し、Rのデータフレームに出力を格納する

  15. 15

    R:forループでデータフレームを初期化/作成します

  16. 16

    Rデータフレーム列をベクトルとして新しい列にマージします

  17. 17

    R-別のデータフレームの一致する値を使用して、データフレームに新しい列を追加します

  18. 18

    グループごとに集計し、Rのデータフレームに列を追加します

  19. 19

    R:拡張された方法でデータフレームから列を再配置します

  20. 20

    Rの使用-別のデータフレームのグループ最大値に基づいてデータフレームを再形成します

  21. 21

    Rの既存のデータフレーム列にデータフレームの列を追加しますか?

  22. 22

    Rと数値irの2つのグループ内の列を並べ替えてデータフレームを配置します

  23. 23

    R:1つのデータフレーム内の値のセットをループして、2番目のデータフレームを更新します

  24. 24

    データフレームをサブセット化し、アイテムをRの新しい列に配置します

  25. 25

    データフレームのリストからRの配列にデータを効率的に再配置しますか?

  26. 26

    データフレームのリストで発生をカウントし、結果をRの新しいデータフレームに保存します

  27. 27

    rのデータフレームのリスト内の各データフレームの最後にデータフレームを追加します

  28. 28

    Rのデータフレームの行を再配置する

  29. 29

    Rはデータフレームを再配置します:いくつかの列アイテムをリストに入れます

ホットタグ

アーカイブ