0

このファイル(メイン)があるとしましょう

Name samp1 samp2 samp3 samp4
pg1 0.43 0.32 0.21 0.54
pg2 0.43 0.22 1.00 0.44
pg3 0.11 0.99 0.78 0.54
pg4 0.65 0.32 0.12 0.23

以下のヘッダーファイルもあります(MAPPERS)

SampName ID
samp1 TYC
samp4 GDD
samp6 DER
samp2 JKK
samp3 WER
samp9 AXC

「MAPPERS」ファイルを使用して「メイン」ファイルのすべてのヘッダーを変更し、sampleName と一致する場合はサンプル ID に置き換えたいと考えています。したがって、私は次のことを期待しています:

Name TYC JKK WER GDD
pg1 0.43 0.32 0.21 0.54
pg2 0.43 0.22 1.00 0.44
pg3 0.11 0.99 0.78 0.54
pg4 0.65 0.32 0.12 0.23

私は大きなファイルを持っているので、誰かが上記を取得する方法を手伝ってくれますか?

4

2 に答える 2

1

?matchはあなたが追いかけているツールだと思います:

main <- read.table(textConnection("Name samp1 samp2 samp3 samp4
pg1 0.43 0.32 0.21 0.54
pg2 0.43 0.22 1.00 0.44
pg3 0.11 0.99 0.78 0.54
pg4 0.65 0.32 0.12 0.23"),header=TRUE,stringsAsFactors=FALSE)

mapper <- read.table(textConnection("SampName ID
samp1 TYC
samp4 GDD
samp6 DER
samp2 JKK
samp3 WER
samp9 AXC"),header=TRUE,stringsAsFactors=FALSE)


names(main)[2:5] <- mapper$ID[match(names(main)[2:5],mapper$SampName)]
main

  Name  TYC  JKK  WER  GDD
1  pg1 0.43 0.32 0.21 0.54
2  pg2 0.43 0.22 1.00 0.44
3  pg3 0.11 0.99 0.78 0.54
4  pg4 0.65 0.32 0.12 0.23
于 2012-11-22T23:10:19.940 に答える
0

テストされていない例を次に示します。データを投稿したら、テストします。

curnames <- data.frame(SampName=colnames(main))
colnames(main) <- merge(curnames,MAPPERS,all.x=TRUE)$ID

すべての SampName が MAPPERS 内の ID に一致するかどうかわからない場合は、追加のコードが必要です。

于 2012-11-22T23:10:35.610 に答える