Rデータフレーム:複数行の値をリストに変換します

ピエトロディト

私はこれを変換したい:

library(tibble)
(
  tribble(
    ~id, ~value,
## -----|--------| 
     1,   "qwer",
     1,   "asdf",
     2,   "uiop",
     3,   "zxcv",
     3,   "qwer",
     3,   "uiop" )
) -> input

これに:

(
  tribble(
    ~id,          ~values,
## -----|------------------------------| 
     1,   list("qwer", "asdf"),
     2,   list("uiop"),
     3,   list("zxcv", "qwer", "uiop"))
) -> output

不明瞭な値の数は不明であることに注意してください...

AnilGoyal

以下のコメントを考慮して編集

すべての値を個別のアイテムとして含むリストとして各値を保存する場合は、次のようにしてください

input %>% group_by(dummy = row_number()) %>%
  mutate(value = list(value)) %>%
  ungroup() %>% group_by(id) %>%
  summarise(value = list(value))

# A tibble: 3 x 2
     id value     
  <dbl> <list>    
1     1 <list [2]>
2     2 <list [1]>
3     3 <list [3]>

#check its structure
output <- input %>% group_by(dummy = row_number()) %>%
  mutate(value = list(value)) %>%
  ungroup() %>% group_by(id) %>%
  summarise(value = list(value))

output$value[[1]]
[[1]]
[1] "qwer"

[[2]]
[1] "asdf"

#OR
output$value
[[1]]
[[1]][[1]]
[1] "qwer"

[[1]][[2]]
[1] "asdf"


[[2]]
[[2]][[1]]
[1] "uiop"


[[3]]
[[3]][[1]]
[1] "zxcv"

[[3]][[2]]
[1] "qwer"

[[3]][[3]]
[1] "uiop"

ここに画像の説明を入力してください

古い答えこれは最初にベクトルにアイテムを保存し、次にリストにアイテムを保存します(単一アイテム)

これを使って

input %>% group_by(id) %>% summarise(value = list(value))

# A tibble: 3 x 2
     id value    
  <dbl> <list>   
1     1 <chr [2]>
2     2 <chr [1]>
3     3 <chr [3]>

#check its items

output <- input %>% group_by(id) %>% summarise(value = list(value))

output$value[[1]]
[1] "qwer" "asdf"

#OR
output$value
[[1]]
[1] "qwer" "asdf"

[[2]]
[1] "uiop"

[[3]]
[1] "zxcv" "qwer" "uiop"

サンプルデータの出力は以下のとおりです(最初の構文に一致します)。特に理由がない限り、2番目の出力が推奨されます。

output$value
(
  tribble(
    ~id,          ~values,
    ## -----|------------------------------| 
    1,   list("qwer", "asdf"),
    2,   list("uiop"),
    3,   list("zxcv", "qwer", "uiop"))
) -> output

output$values

[[1]]
[[1]][[1]]
[1] "qwer"

[[1]][[2]]
[1] "asdf"


[[2]]
[[2]][[1]]
[1] "uiop"


[[3]]
[[3]][[1]]
[1] "zxcv"

[[3]][[2]]
[1] "qwer"

[[3]][[3]]
[1] "uiop"

ここに画像の説明を入力してください

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

R複数の文字列長のリストをデータフレームに変換します

分類Dev

R:リスト内のデータフレームの因数を数値に変換します

分類Dev

データフレーム行のグループの列値を列のリストに変換します

分類Dev

複数の値を持つ辞書の別のリストを含む辞書のリストをデータフレームに変換します

分類Dev

複数の文字列のリストをPythonデータフレームに変換します

分類Dev

数値変数と文字列変数を含むリストをRのデータフレームに変換します

分類Dev

数値変数と文字列変数を含むリストをRのデータフレームに変換します

分類Dev

Rでデータフレームの複数の列を文字列から数値に変換します

分類Dev

パンダ:データフレームの単一の行を複数のディメンションを持つリストに変換します

分類Dev

値のパンダデータフレームグループを複数のリストに変換します

分類Dev

値のパンダデータフレームグループを複数のリストに変換します

分類Dev

複数のデータフレーム列を数値ベクトルに変換します

分類Dev

リスト内の複数のサブリストの要素を抽出し、複数のデータフレームに変換します

分類Dev

キー値データフレームをリストに変換します

分類Dev

キー値リストをデータフレームに変換します

分類Dev

Pythonデータフレームで複数の列を行に変換/ピボット解除します

分類Dev

ベクトルのリストのリストをRのデータフレームに変換します

分類Dev

複数のリストのリストを解析し、それをRのデータフレームに変換する方法は?

分類Dev

データフレームのリストを1つのデータフレームに変換します

分類Dev

データフレームの行値内に含まれるリストを変換する

分類Dev

テキストデータフレームを数値データフレームに変換すると、NAのリストが表示されます

分類Dev

データフレームを使用してCSV列の値を複数の行に変換する

分類Dev

R-リストのリストをデータフレームに変換します

分類Dev

複数の行を持つPandasデータフレームを1つの行に変換します

分類Dev

lapplyを使用して、単一のデータフレーム列をデータフレームのリスト内の数値に変換する

分類Dev

Pysparkのデータフレーム内の個別の値をリストに変換します

分類Dev

Rは、複数のリストの各データフレームから値を抽出します

分類Dev

ループ内の複数のデータフレームの最初の行を列名に変換します

分類Dev

アイテムのリストをRのデータフレームに変換します

Related 関連記事

  1. 1

    R複数の文字列長のリストをデータフレームに変換します

  2. 2

    R:リスト内のデータフレームの因数を数値に変換します

  3. 3

    データフレーム行のグループの列値を列のリストに変換します

  4. 4

    複数の値を持つ辞書の別のリストを含む辞書のリストをデータフレームに変換します

  5. 5

    複数の文字列のリストをPythonデータフレームに変換します

  6. 6

    数値変数と文字列変数を含むリストをRのデータフレームに変換します

  7. 7

    数値変数と文字列変数を含むリストをRのデータフレームに変換します

  8. 8

    Rでデータフレームの複数の列を文字列から数値に変換します

  9. 9

    パンダ:データフレームの単一の行を複数のディメンションを持つリストに変換します

  10. 10

    値のパンダデータフレームグループを複数のリストに変換します

  11. 11

    値のパンダデータフレームグループを複数のリストに変換します

  12. 12

    複数のデータフレーム列を数値ベクトルに変換します

  13. 13

    リスト内の複数のサブリストの要素を抽出し、複数のデータフレームに変換します

  14. 14

    キー値データフレームをリストに変換します

  15. 15

    キー値リストをデータフレームに変換します

  16. 16

    Pythonデータフレームで複数の列を行に変換/ピボット解除します

  17. 17

    ベクトルのリストのリストをRのデータフレームに変換します

  18. 18

    複数のリストのリストを解析し、それをRのデータフレームに変換する方法は?

  19. 19

    データフレームのリストを1つのデータフレームに変換します

  20. 20

    データフレームの行値内に含まれるリストを変換する

  21. 21

    テキストデータフレームを数値データフレームに変換すると、NAのリストが表示されます

  22. 22

    データフレームを使用してCSV列の値を複数の行に変換する

  23. 23

    R-リストのリストをデータフレームに変換します

  24. 24

    複数の行を持つPandasデータフレームを1つの行に変換します

  25. 25

    lapplyを使用して、単一のデータフレーム列をデータフレームのリスト内の数値に変換する

  26. 26

    Pysparkのデータフレーム内の個別の値をリストに変換します

  27. 27

    Rは、複数のリストの各データフレームから値を抽出します

  28. 28

    ループ内の複数のデータフレームの最初の行を列名に変換します

  29. 29

    アイテムのリストをRのデータフレームに変換します

ホットタグ

アーカイブ