データフレームのリストと列の間の値の一致に基づいて、新しいデータフレームを作成します

cliu

古いデータフレームの列の値と一致する値のリストを使用して、新しいデータフレームを作成しようとしています。また、新しいデータフレームについては、一致に使用される値のリストからの順序を保持したいと思います。これが私が達成したいことの例です:

#A list of values used for matching
time.new <- c(2, 3, 4, 3, 4, 5, 4, 5, 6)
#The old data frame which I would match on the column of **time.old**
old <- data.frame(time.old=1:10, y=rnorm(10))
   time.old        y
          1  0.20320
          2 -0.74696
          3 -0.73716
          4 -0.61959
          5  1.12733
          6  2.58322
          7 -0.08138
          8 -0.10436
          9 -0.13081
         10 -1.20050
#Here is the expected new data frame
       time        y
          2 -0.74696
          3 -0.73716
          4 -0.61959
          3 -0.73716
          4 -0.61959
          5  1.12733
          4 -0.61959
          5  1.12733
          6  2.58322
ルマートール

dplyrからleft_joinを試してくださいまず、time.newをデータフレームの列に変換します。

library(tidyverse)
time.new <- c(2, 3, 4, 3, 4, 5, 4, 5, 6)
#The old data frame which I would match on the column of **time.old**
old <- data.frame(time.old=1:10, y=rnorm(10))

time.new <- data.frame(time=time.new) 
new_dataframe <- left_join(time.new, old, by=c("time"="time.old"))

ベースRではマージを使用します。

merge(x = time.new, y = old, by.x = "time", by.y="time.old", all.x = TRUE)

time.newの順序を保持する場合は、データに補助行番号列を追加し、マージして、行番号で順序付けし、id列を削除する必要があります。

time.new <- c(2, 3, 4, 3, 4, 5, 4, 5, 6)
old <- data.frame(time.old=1:10, y=rnorm(10))
    
time.new <- data.frame(id = 1:length(time.new), time=time.new)

new_dataframe <- merge(x = time.new, y = old, by.x = "time", by.y="time.old", all.x = TRUE)
new_dataframe <- new_dataframe[order(new_dataframe$id), ]
new_dataframe$id <- NULL

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

R-既存の列と一致する値のインデックスに基づいて新しい列データフレームを作成します

分類Dev

2つのデータフレーム間の比較一致に基づいて列を作成します

分類Dev

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

分類Dev

一致を使用して、データフレームのリストの新しい列を作成します

分類Dev

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

分類Dev

他のデータフレームからの一致に基づいてデータフレームの新しい列を更新します

分類Dev

別のデータフレームの値と一致する行数に基づいて新しい列を作成する

分類Dev

別のデータフレームとの一致に基づいてデータフレームに新しいブール列を作成すると、「置換にはx行、データにはy」というRエラーが発生します。

分類Dev

2つの列間の一致する値(正確)に基づいてデータフレームをフィルタリングします

分類Dev

列名の一致する値とRの特定の列に基づいて0-1データフレームを作成します

分類Dev

他のデータフレームの値と一致するデータフレームに新しい列を作成します

分類Dev

データフレーム内の既存の時間列に基づいて新しい列を作成します

分類Dev

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

分類Dev

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

分類Dev

列値のペア間の最も近い一致に基づいて2つのデータフレームをマージします

分類Dev

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

分類Dev

2つのデータフレームの行が一致するかどうかに基づいて新しい列を作成します

分類Dev

条件と値のリストに基づいてpysparkデータフレームを作成します

分類Dev

R:別のデータフレームの一致する行に基づいて列を更新します

分類Dev

データフレームの新しい列を他のデータフレームと一致する値に割り当てます

分類Dev

2番目のデータフレームの一致する列に基づいてパンダのデータフレームを更新します

分類Dev

一致しない値を維持しながら、他の列を別のデータフレームと一致させる値に基づいて、データフレームの欠落値を埋めます

分類Dev

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

分類Dev

一意の値に基づいてデータフレーム全体をフィルタリングし、Rに新しい列を作成します

分類Dev

列内の一致した値、および一致した値の最小/最大値のタイムスタンプに基づいてデータフレームをフィルタリングします

分類Dev

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

分類Dev

データフレーム操作:データフレームの特定の列をキー値列に基づいてリストに変換します

分類Dev

1 つのデータフレームの 2 つの変数を「回答キー」データフレームの「キー」に一致させることに基づいて、「回答キー」データフレームから値を取得します。

分類Dev

別のデータフレームの一致するIDに基づいてデータフレーム列の値を置き換えます

Related 関連記事

  1. 1

    R-既存の列と一致する値のインデックスに基づいて新しい列データフレームを作成します

  2. 2

    2つのデータフレーム間の比較一致に基づいて列を作成します

  3. 3

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

  4. 4

    一致を使用して、データフレームのリストの新しい列を作成します

  5. 5

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

  6. 6

    他のデータフレームからの一致に基づいてデータフレームの新しい列を更新します

  7. 7

    別のデータフレームの値と一致する行数に基づいて新しい列を作成する

  8. 8

    別のデータフレームとの一致に基づいてデータフレームに新しいブール列を作成すると、「置換にはx行、データにはy」というRエラーが発生します。

  9. 9

    2つの列間の一致する値(正確)に基づいてデータフレームをフィルタリングします

  10. 10

    列名の一致する値とRの特定の列に基づいて0-1データフレームを作成します

  11. 11

    他のデータフレームの値と一致するデータフレームに新しい列を作成します

  12. 12

    データフレーム内の既存の時間列に基づいて新しい列を作成します

  13. 13

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

  14. 14

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

  15. 15

    列値のペア間の最も近い一致に基づいて2つのデータフレームをマージします

  16. 16

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

  17. 17

    2つのデータフレームの行が一致するかどうかに基づいて新しい列を作成します

  18. 18

    条件と値のリストに基づいてpysparkデータフレームを作成します

  19. 19

    R:別のデータフレームの一致する行に基づいて列を更新します

  20. 20

    データフレームの新しい列を他のデータフレームと一致する値に割り当てます

  21. 21

    2番目のデータフレームの一致する列に基づいてパンダのデータフレームを更新します

  22. 22

    一致しない値を維持しながら、他の列を別のデータフレームと一致させる値に基づいて、データフレームの欠落値を埋めます

  23. 23

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

  24. 24

    一意の値に基づいてデータフレーム全体をフィルタリングし、Rに新しい列を作成します

  25. 25

    列内の一致した値、および一致した値の最小/最大値のタイムスタンプに基づいてデータフレームをフィルタリングします

  26. 26

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

  27. 27

    データフレーム操作:データフレームの特定の列をキー値列に基づいてリストに変換します

  28. 28

    1 つのデータフレームの 2 つの変数を「回答キー」データフレームの「キー」に一致させることに基づいて、「回答キー」データフレームから値を取得します。

  29. 29

    別のデータフレームの一致するIDに基づいてデータフレーム列の値を置き換えます

ホットタグ

アーカイブ