非常に遅く、適切に機能しないforループがあります。これは、1つのdata.frameでバーコードを検索し、別のdata.frameでそのバーコードを検索します。2番目のdata.frameのbar_codeは複数回存在する可能性があります。バーコードが見つかるたびに、カウンターはバーコードが存在する回数をカウントし、バーコードの数を1番目のデータフレームに書き込む必要があります。
私の試み:
for(i in 1:length(tcgadataUniek$Tumor_Sample_Barcode)){
for(j in 1:length(hprdDataSorted$Samples.Int1)){
count<-0
if(i==j){
count<-count+1
} else {
count<-count+0
}
hprdDataSorted$Samples.Int2<-count[j]
}
}
1番目のData.Frameは次のようになります(csv):
HUGO.Int1,HUGO.Int2,barcode.Int1
A1CF,APOBEC1,TCGA-B6-A0RS-01A-11D-A099-09
A1CF,TNPO2,TCGA-B6-A0RS-01A-11D-A099-09
A1CF,SYNCRIP,TCGA-B6-A0RS-01A-11D-A099-09
A1CF,KHSRP,TCGA-B6-A0RS-01A-11D-A099-09
A2M,SHBG,TCGA-D8-A1JK-01A-11D-A13L-09
A2M,C11orf58,TCGA-D8-A1JK-01A-11D-A13L-09
A2M,ATF7IP,TCGA-D8-A1JK-01A-11D-A13L-09
AAMP,TH1L,TCGA-A8-A08S-01A-11W-A050-09
AARS,EEF1B2,TCGA-AO-A0JC-01A-11W-A071-09
複製されたバーコード(csv)を保持する2番目のData.frame
Sample_Barcode
TCGA-A8-A08G-01A-11W-A019-09
TCGA-AO-A03O-01A-11W-A019-09
TCGA-AO-A03O-01A-11W-A019-09
TCGA-B6-A0RS-01A-11D-A099-09
TCGA-BH-A0HP-01A-12D-A099-09
TCGA-BH-A0HP-01A-12D-A099-09
TCGA-BH-A18H-01A-11D-A12B-09
TCGA-BH-A18H-01A-11D-A12B-09
TCGA-BH-A18J-01A-11D-A12B-09
TCGA-D8-A1JK-01A-11D-A13L-09
TCGA-E2-A1BC-01A-11D-A14G-09
TCGA-E2-A1BC-01A-11D-A14G-09
TCGA-E9-A1NH-01A-11D-A14G-09
TCGA-E9-A22B-01A-11D-A159-09
Sample_barcodeでbarcode.Int1(データフレーム1)からのバーコードが3回ある場合、スクリプトは、スクリプトが探しているbarcode.Int1の横に3を追加する必要があります。例えば:
HUGO.Int1,HUGO.Int2,barcode.Int1, number_of_times
A1CF,APOBEC1,TCGA-B6-A0RS-01A-11D-A099-09,5