データフレームのリストの各要素の名前を列として追加します

キム・サングウォン

データのリストがあります。このリストでは、datatableまたはdataframeのいずれかです。この問題の後、リストをバインドします。

データ例:

players
$`0001playeraway`
      key NO        MIN 2PTM 2PTA 2PT(%) 3PTM 3PTA 3PT(%) FGM FGA FG(%) FTM FTA FT(%) OR DR REB AST TO STL BS PF
   1:   * 17   40:00:00    9   15     60    0    0      0   9  15    60   2   4    50  1  8   9   2  4   1  2  1
   2:   * 16   40:00:00    4    8     50    8   13     62  12  21    57  20  22    91  2  3   5   4  4   0  0  3
   3:   * 10   33:02:00    2    4     50    0    3      0   2   7    29   0   0     0  0  4   4   1  3   1  0  4
   4:   *  3   27:46:00    2    3     67    0    0      0   2   3    67   6   6   100  1  4   5   0  1   4  0  3
   5:      1   26:24:00    1    1    100    0    2      0   1   3    33   1   2    50  1  0   1   1  0   1  0  4

$`0102playeraway`
      key NO        MIN 2PTM 2PTA 2PT(%) 3PTM 3PTA 3PT(%) FGM FGA FG(%) FTM FTA FT(%) OR DR REB AST TO STL BS PF
   1:   *  9   40:00:00    1    3     33    2    7     29   3  10    30   3   4    75  1  4   5   8  1   4  1  3
   2:   * 53   38:18:00    6   14     43    0    0      0   6  14    43   6   8    75  5  3   8   3  4   0  2  5
   3:   * 13   35:16:00    3    8     38    1    2     50   4  10    40   2   5    40  1  3   4   5  0   0  0  5
   4:   * 23   31:42:00    2    7     29    2    8     25   4  15    27   7   7   100  1  7   8   1  1   0  0  2
   5:     14      22:08    2    3     67    2    4     50   4   7    57   0   0     0  0  2   2   2  1   0  0  1

残りは省略されます。

リスト内のデータテーブル名に値を割り当てるにはどうすればよいですか?

必要な出力:

players
$`0001playeraway`
      year key NO        MIN 2PTM 2PTA 2PT(%) 3PTM 3PTA 3PT(%) FGM FGA FG(%) FTM FTA FT(%) OR DR REB AST TO STL BS PF
   1: 0001  * 17   40:00:00    9   15     60    0    0      0   9  15    60   2   4    50  1  8   9   2  4   1  2  1
   2: 0001  * 16   40:00:00    4    8     50    8   13     62  12  21    57  20  22    91  2  3   5   4  4   0  0  3
   3: 0001  * 10   33:02:00    2    4     50    0    3      0   2   7    29   0   0     0  0  4   4   1  3   1  0  4
   4: 0001  *  3   27:46:00    2    3     67    0    0      0   2   3    67   6   6   100  1  4   5   0  1   4  0  3
   5: 0001     1   26:24:00    1    1    100    0    2      0   1   3    33   1   2    50  1  0   1   1  0   1  0  4

$`0102playeraway`
      year key NO        MIN 2PTM 2PTA 2PT(%) 3PTM 3PTA 3PT(%) FGM FGA FG(%) FTM FTA FT(%) OR DR REB AST TO STL BS PF
   1: 0102  *  9   40:00:00    1    3     33    2    7     29   3  10    30   3   4    75  1  4   5   8  1   4  1  3
   2: 0102  * 53   38:18:00    6   14     43    0    0      0   6  14    43   6   8    75  5  3   8   3  4   0  2  5
   3: 0102  * 13   35:16:00    3    8     38    1    2     50   4  10    40   2   5    40  1  3   4   5  0   0  0  5
   4: 0102  * 23   31:42:00    2    7     29    2    8     25   4  15    27   7   7   100  1  7   8   1  1   0  0  2
   5: 0102    14      22:08    2    3     67    2    4     50   4   7    57   0   0     0  0  2   2   2  1   0  0  1
jay.sf

あなたは、シンプルな中にこれを行うことができますMapsubstr; 追加のパッケージは必要ありません。

Ldata.framesとdata.tablesの混合リストの例として機能するものとします

L
# $`0001playeraway`
# X1 X2 X3 X4
# 1  1  4  7 10
# 2  2  5  8 11
# 3  3  6  9 12
# 
# $`0102playeraway`
# X1 X2 X3 X4
# 1  1  4  7 10
# 2  2  5  8 11
# 3  3  6  9 12
# 
# $`1003playeraway`
# X1 X2 X3 X4
# 1:  1  4  7 10
# 2:  2  5  8 11
# 3:  3  6  9 12

方法:

library(data.table)
dat <- do.call(rbind, Map(function(x) cbind(year=substr(names(L)[x], 1, 4), L[[x]]), seq(L)))
dat
#    year X1 X2 X3 X4
# 1: 0001  1  4  7 10
# 2: 0001  2  5  8 11
# 3: 0001  3  6  9 12
# 4: 0102  1  4  7 10
# 5: 0102  2  5  8 11
# 6: 0102  3  6  9 12
# 7: 1003  1  4  7 10
# 8: 1003  2  5  8 11
# 9: 1003  3  6  9 12

data.tableプロセスを支配するのでdat <- as.data.frame(dat)data.frameが必要場合は実行してください

データ

L <- list(`0001playeraway` = structure(list(X1 = 1:3, X2 = 4:6, X3 = 7:9, 
    X4 = 10:12), class = "data.frame", row.names = c(NA, -3L)), 
    `0102playeraway` = structure(list(X1 = 1:3, X2 = 4:6, X3 = 7:9, 
        X4 = 10:12), class = "data.frame", row.names = c(NA, 
    -3L)), `1003playeraway` = structure(list(X1 = 1:3, X2 = 4:6, 
        X3 = 7:9, X4 = 10:12), class = c("data.table", "data.frame"
    ), row.names = c(NA, -3L)))

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

リストの名前をデータフレームの列としてdfに追加する方法

分類Dev

データフレームの名前を列として追加します

分類Dev

データフレームの列としてリストの名前を取得します

分類Dev

複数のリストの各要素に関数を適用します。別の名前のデータフレームを返す

分類Dev

データフレームのリストとしてデータフレームに列を追加します

分類Dev

リストPtのデータフレーム列の各要素で関数を実行します。2

分類Dev

リストのデータフレーム列の各要素で関数を実行します

分類Dev

データフレームのリストのすべての列の名前を変更します

分類Dev

データフレームのリストから同じ名前の列を抽出して結合します

分類Dev

Scalaを使用してSparkデータフレーム内のリストの各要素に文字列を連結します

分類Dev

データフレームのリスト内で、データフレームの名前としてdata.frameの列に名前を付ける方法

分類Dev

リストのリストを、名前とすべての列を保持するデータフレームに変換します

分類Dev

Rのデータフレームを含む要素リストの名前に基づいて列を作成します

分類Dev

リスト内の各データフレームの各要素に関数を適用します

分類Dev

データフレームを、Rの列の名前を持つデータフレームの名前付きリストに変換します

分類Dev

同様の名前の不等長リスト要素をデータフレームRに変換します

分類Dev

一致関数を適用して、名前付きデータフレームのリストに列を追加します

分類Dev

R lapply()を使用して、データフレームのリストの1つの列にデータを入力して名前を付けます

分類Dev

リストをRのデータフレームに変換し、サブリストの名前を含む列を追加します

分類Dev

整数列のデータフレームをリスト列に変換します。リストの各要素は整数ベクトルです。

分類Dev

新しい列の値がリストの名前であるデータフレームを作成します

分類Dev

Rのリストの名前に基づいて、データフレームの列の名前を変更します

分類Dev

別のデータフレームからの一致を使用して、データフレームのリストの列の名前を変更する

分類Dev

データフレームのリストの各データフレームの最後の列のみの名前を変更します

分類Dev

Pythonをリストするためにデータフレームの名前を追加します

分類Dev

データフレームのリストをループして、重複するエントリを含まない列の名前を返しますか?

分類Dev

リストのリストを列としてPythonの既存のデータフレームに追加する

分類Dev

PySparkリストデータフレームのすべての要素の後に値を追加します

分類Dev

データフレームの各要素の名前をRと一致させます

Related 関連記事

  1. 1

    リストの名前をデータフレームの列としてdfに追加する方法

  2. 2

    データフレームの名前を列として追加します

  3. 3

    データフレームの列としてリストの名前を取得します

  4. 4

    複数のリストの各要素に関数を適用します。別の名前のデータフレームを返す

  5. 5

    データフレームのリストとしてデータフレームに列を追加します

  6. 6

    リストPtのデータフレーム列の各要素で関数を実行します。2

  7. 7

    リストのデータフレーム列の各要素で関数を実行します

  8. 8

    データフレームのリストのすべての列の名前を変更します

  9. 9

    データフレームのリストから同じ名前の列を抽出して結合します

  10. 10

    Scalaを使用してSparkデータフレーム内のリストの各要素に文字列を連結します

  11. 11

    データフレームのリスト内で、データフレームの名前としてdata.frameの列に名前を付ける方法

  12. 12

    リストのリストを、名前とすべての列を保持するデータフレームに変換します

  13. 13

    Rのデータフレームを含む要素リストの名前に基づいて列を作成します

  14. 14

    リスト内の各データフレームの各要素に関数を適用します

  15. 15

    データフレームを、Rの列の名前を持つデータフレームの名前付きリストに変換します

  16. 16

    同様の名前の不等長リスト要素をデータフレームRに変換します

  17. 17

    一致関数を適用して、名前付きデータフレームのリストに列を追加します

  18. 18

    R lapply()を使用して、データフレームのリストの1つの列にデータを入力して名前を付けます

  19. 19

    リストをRのデータフレームに変換し、サブリストの名前を含む列を追加します

  20. 20

    整数列のデータフレームをリスト列に変換します。リストの各要素は整数ベクトルです。

  21. 21

    新しい列の値がリストの名前であるデータフレームを作成します

  22. 22

    Rのリストの名前に基づいて、データフレームの列の名前を変更します

  23. 23

    別のデータフレームからの一致を使用して、データフレームのリストの列の名前を変更する

  24. 24

    データフレームのリストの各データフレームの最後の列のみの名前を変更します

  25. 25

    Pythonをリストするためにデータフレームの名前を追加します

  26. 26

    データフレームのリストをループして、重複するエントリを含まない列の名前を返しますか?

  27. 27

    リストのリストを列としてPythonの既存のデータフレームに追加する

  28. 28

    PySparkリストデータフレームのすべての要素の後に値を追加します

  29. 29

    データフレームの各要素の名前をRと一致させます

ホットタグ

アーカイブ