2017-12-21 4 views
0

に要素名を置き換える私は2つのデータフレーム DF1

structure(list(d.x = structure(c(1L, 2L, 3L, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), .Label = c("Sample1", 
"Sample2", "Sample3"), class = "factor"), d.Name = structure(c(1L, 
2L, 3L, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA), .Label = c("A", "B", "C"), class = "factor")), .Names = c("d.x", 
"d.Name"), row.names = c(NA, -37L), class = "data.frame") 

DF2

structure(list(d.ID = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 
1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L), .Label = c("Sample1", 
"Sample2", "Sample3"), class = "factor")), .Names = "d.ID", row.names =c(NA, 
-37L), class = "data.frame") 

私は例のためにそうDF1ファイル の名前を対応するDF2内のすべての名前を置き換えたい サンプル1を持っています

+0

だから、 'df2'は文字ベクトルではなく、data.frameのですか? –

+0

df2がデータフレーム – KMISH

+0

@StuartAllen私の質問を編集しました – KMISH

答えて

1

match()を次のように使用できます。

df2$d.Id.New <- df1$d.Name[match(df2$d.ID, df1$d.x)] 

これはdf1からマッチした値が含まれますdf2の新しい列を作成します。

> head(df2) 
    d.ID d.Id.New 
1 Sample1  A 
2 Sample1  A 
3 Sample1  A 
4 Sample1  A 
5 Sample1  A 
6 Sample1  A 
+0

ありがとう@Stuart Allen – KMISH