R:リスト要素名に基づいて新しいデータフレーム変数を作成する

DrBalticYaldie

私はlist11のデータフレームの各データフレームの名前は、そのソースを記載しています。基本的に、各セルのデータフレームの名前を含むリストの各データフレームに「ソース」列を追加したいと思います。

これがすべてなので、データはリストでうまく機能しないCRANパッケージにダウンストリームで渡される可能性があります。

私はlapply他のいくつかのSOの答えを使って調べてみましたが、何も合わないようです。

どんな助けでも大歓迎です、

  • ありがとう
## Some toy data 

p1 <- c("A", "B", "C", "D", "E")  
p2 <- c(rnorm(5, 1.25, 1))  
p3 <- c(rnorm(5, 1.25, 1))
source_name_1 <- data.frame(p1, p2, p3)  

p2 <- c(rnorm(5, 1.25, 1))  
p3 <- c(rnorm(5, 1.25, 1))  
source_name_2 <- data.frame(p1, p2, p3) 
 
p2 <- c(rnorm(5, 1.25, 1))  
p3 <- c(rnorm(5, 1.25, 1))  
source_name_3 <- data.frame(p1, p2, p3)  

df_list <- list(source_name_1,
                source_name_2,
                source_name_3)

names(df_list) = paste0("source_name_", 1:length(df_list))

## Previous attempt based on other SO answers
df_list_2 <- lapply(names(df_list),
                 function(x) cbind(df_list),
                 source = names(df_list),
                 SIMPLIFY = TRUE)

#essentially I'm aiming for a 'p4' column in each df comprised of `^source_name[1-9]`
チャックP

コメントで@monteが指摘しているように、リスト要素に名前を付ける必要があります。彼らはすべて「source_name_」とのパターンに従うと仮定すると、あなたが使用してこれを行うことができますdplyrし、purrrあなたのおもちゃのデータを使用して

df_list <- list(source_name_1,
            source_name_2,
            source_name_3)

names(df_list) = paste0("source_name_", 1:length(df_list))

library(dplyr)
library(purrr)

purrr::map2(df_list, names(df_list), ~ mutate(.x, p4 = .y))
#> $source_name_1
#>   p1        p2        p3            p4
#> 1  A 0.1531752 1.5198717 source_name_1
#> 2  B 0.8299500 1.4534902 source_name_1
#> 3  C 2.1038329 0.3968661 source_name_1
#> 4  D 2.3939380 1.0487960 source_name_1
#> 5  E 1.5773872 1.8611408 source_name_1
#> 
#> $source_name_2
#>   p1         p2        p3            p4
#> 1  A  0.8662918 -1.014854 source_name_2
#> 2  B -1.8042179  1.339152 source_name_2
#> 3  C  1.4786439 -1.940525 source_name_2
#> 4  D  1.8360023  1.439776 source_name_2
#> 5  E  0.9648816  2.051714 source_name_2
#> 
#> $source_name_3
#>   p1       p2        p3            p4
#> 1  A 1.268633 1.7334884 source_name_3
#> 2  B 1.615704 1.0503553 source_name_3
#> 3  C 2.056368 1.4954794 source_name_3
#> 4  D 2.335987 1.6293595 source_name_3
#> 5  E 1.236283 0.4498371 source_name_3

おもちゃのデータ

## Some toy data 

p1 <- c("A", "B", "C", "D", "E")  
p2 <- c(rnorm(5, 1.25, 1))  
p3 <- c(rnorm(5, 1.25, 1))
source_name_1 <- data.frame(p1, p2, p3)  

p2 <- c(rnorm(5, 1.25, 1))  
p3 <- c(rnorm(5, 1.25, 1))  
source_name_2 <- data.frame(p1, p2, p3) 

p2 <- c(rnorm(5, 1.25, 1))  
p3 <- c(rnorm(5, 1.25, 1))  
source_name_3 <- data.frame(p1, p2, p3)  


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

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

編集
0

コメントを追加

0

関連記事

分類Dev

リストの最初の要素に基づいて照合するデータフレームを作成します

分類Dev

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

分類Dev

既存の変数に基づいてデータフレームに新しい変数を作成します

分類Dev

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

分類Dev

R:データフレームリスト-列の値に基づいて新しいフィールドを作成する

分類Dev

他のデータフレームからの一致する値に基づいて、データフレームに新しい変数を作成する

分類Dev

最大要素に基づいて新しいデータフレームを作成する

分類Dev

R:既存のデータフレームの複数の条件に基づいて新しいデータフレームを作成する

分類Dev

別のデータフレームに基づいて新しいデータフレームを作成する

分類Dev

リストとデータフレームに基づいて複数の条件を持つデータフレームに新しい列を追加します

分類Dev

各データフレームの要素に基づいて、データフレームのリストを複数のリストに分割する

分類Dev

Rで関数mutateを使用して、データフレーム内の別のバイナリ変数に基づいて新しいバイナリ変数を作成するにはどうすればよいですか?

分類Dev

dplyr関数に基づいて既存のデータフレームからリストを作成する

分類Dev

そのデータフレームの値に基づいて、データフレームのリストの名前を作成します

分類Dev

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

分類Dev

リストとして指定されたパラメーターとパンダの特定の条件に基づいて、データフレームに新しい行を作成する関数を作成します

分類Dev

R:リストに基づいて、データフレームに変数のタイプとレベルを設定します

分類Dev

列の値に基づいてデータフレームのカテゴリ変数を作成する

分類Dev

入力変数に基づいてrに別々の名前を持つ複数のデータフレームを作成する方法

分類Dev

列の複数の値に基づいてデータフレームに新しい行を作成します

分類Dev

if / elif / and関数に基づいてパンダデータフレームに新しい列を作成します

分類Dev

r言語:別のデータフレームに基づいてデータフレームに新しい列を作成する方法は?

分類Dev

パンダのリストとして指定されたパラメータに基づいてデータフレームに新しい行を作成する関数を作成します

分類Dev

R-条件に基づいてデータフレームに新しい列を作成します

分類Dev

複数のデータフレームの条件に基づいて新しいデータフレームを作成する

分類Dev

lapplyを使用して、列の値に基づいてリスト内のデータフレームの名前を変更する方法

分類Dev

データフレームRに基づいてリストにデータを追加します

分類Dev

複数の列の値に基づいて新しいデータフレーム列を作成します

分類Dev

条件を指定してデータフレームの要素に新しい変数を作成する

Related 関連記事

  1. 1

    リストの最初の要素に基づいて照合するデータフレームを作成します

  2. 2

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

  3. 3

    既存の変数に基づいてデータフレームに新しい変数を作成します

  4. 4

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

  5. 5

    R:データフレームリスト-列の値に基づいて新しいフィールドを作成する

  6. 6

    他のデータフレームからの一致する値に基づいて、データフレームに新しい変数を作成する

  7. 7

    最大要素に基づいて新しいデータフレームを作成する

  8. 8

    R:既存のデータフレームの複数の条件に基づいて新しいデータフレームを作成する

  9. 9

    別のデータフレームに基づいて新しいデータフレームを作成する

  10. 10

    リストとデータフレームに基づいて複数の条件を持つデータフレームに新しい列を追加します

  11. 11

    各データフレームの要素に基づいて、データフレームのリストを複数のリストに分割する

  12. 12

    Rで関数mutateを使用して、データフレーム内の別のバイナリ変数に基づいて新しいバイナリ変数を作成するにはどうすればよいですか?

  13. 13

    dplyr関数に基づいて既存のデータフレームからリストを作成する

  14. 14

    そのデータフレームの値に基づいて、データフレームのリストの名前を作成します

  15. 15

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

  16. 16

    リストとして指定されたパラメーターとパンダの特定の条件に基づいて、データフレームに新しい行を作成する関数を作成します

  17. 17

    R:リストに基づいて、データフレームに変数のタイプとレベルを設定します

  18. 18

    列の値に基づいてデータフレームのカテゴリ変数を作成する

  19. 19

    入力変数に基づいてrに別々の名前を持つ複数のデータフレームを作成する方法

  20. 20

    列の複数の値に基づいてデータフレームに新しい行を作成します

  21. 21

    if / elif / and関数に基づいてパンダデータフレームに新しい列を作成します

  22. 22

    r言語:別のデータフレームに基づいてデータフレームに新しい列を作成する方法は?

  23. 23

    パンダのリストとして指定されたパラメータに基づいてデータフレームに新しい行を作成する関数を作成します

  24. 24

    R-条件に基づいてデータフレームに新しい列を作成します

  25. 25

    複数のデータフレームの条件に基づいて新しいデータフレームを作成する

  26. 26

    lapplyを使用して、列の値に基づいてリスト内のデータフレームの名前を変更する方法

  27. 27

    データフレームRに基づいてリストにデータを追加します

  28. 28

    複数の列の値に基づいて新しいデータフレーム列を作成します

  29. 29

    条件を指定してデータフレームの要素に新しい変数を作成する

ホットタグ

アーカイブ