-2

と の 2 つのテキスト ファイルがped1.txtありped2.txtます。フィールド区切り文字はタブ/スペースです。

ped1.txt

222 333 444
333 458 458
458 774 556
500K lines...

ped2.txt

222 -12006
333 -11998

すべてのデータについて、ファイル 2 のキーを使用してファイル 1 の数値を再コード化する必要があります。結果は次のようになります。

-12006 -11998 444
-11998    458 458
   458    774 556
500K lines...

どうやってするの?ありがとう。

4

2 に答える 2

0

ped1
#    V1  V2  V3
# 1 222 333 444
# 2 333 458 458
# 3 458 774 556
ped2
#    V1     V2
# 1 222 -12006
# 2 333 -11998

次のいずれかを実行できます。

apply(ped1, c(1,2), function(x) ifelse(x %in% ped2$V1, ped2$V2[ped2$V1 == x], x))
#          V1     V2  V3
# [1,] -12006 -11998 444
# [2,] -11998    458 458
# [3,]    458    774 556

また

sapply(ped1, function(x) plyr::mapvalues(x, ped2$V1, ped2$V2, FALSE))
#          V1     V2  V3
# [1,] -12006 -11998 444
# [2,] -11998    458 458
# [3,]    458    774 556

あなたの好みに応じて。

于 2016-05-12T13:27:04.883 に答える