-1
添加數字我有以下表(DAT2),它是一個變換表:爲什麼在使用變換表
> dat2 <- read.table(file.choose(), head=T, as.is=T) #### Transformation table
> head (dat2)
items newitem
1 EE945098C667EAE169914A85B2694508 SELECT OV1
2 23552A46AA353DD331B6B6DD7A83DA8C SELECT OV2
3 63B31CA67BB356B0965E19E7F66B3F11 SELECT OV3
4 38A43F4165420E2F12EE500DC7E0E67C SELECT OV4
5 ECEAFE485E65C9851907DEED13D4E9E7 SELECT OV5
6 85190C0EFB3B7450568D84B3B3E3DB91 SELECT OV6
我有輸入表(DAT1):
> head (dat1)
sequence support
1 <{OV1}> 0.14519496
2 <{OV195}> 0.09071318
3 <{OV196}> 0.09125194
4 <{OV197}> 0.09785171
5 <{OV198}> 0.09812109
6 <{OV304}> 0.09886188
我使用之後進行表格之間的轉換。我的意思是每個OV將其等效的字符串替換:
> for (i in 1:nrow(dat2)) {
+ dat1$sequence <- gsub(dat2$newitem[i], dat2$items[i], dat1$sequence)
+ }
我得到每個dat1sequence額外的數量可以從第二行SELECT95,SELECT96等可以看出,而只應選擇。爲什麼我得到它?我怎樣才能避免得到它?
> head (dat1)
sequence support
1 <{EE945098C667EAE169914A85B2694508 SELECT}> 0.14519496
2 <{EE945098C667EAE169914A85B2694508 SELECT95}> 0.09071318
3 <{EE945098C667EAE169914A85B2694508 SELECT96}> 0.09125194
4 <{EE945098C667EAE169914A85B2694508 SELECT97}> 0.09785171
5 <{EE945098C667EAE169914A85B2694508 SELECT98}> 0.09812109
6 <{63B31CA67BB356B0965E19E7F66B3F11 SELECT04}> 0.09886188
感謝皮埃爾。你能告訴我在哪裏改變它嗎?這是循環中所需的更改: (i in 1:nrow(dat2)){ dat3 $ sequence < - sub(paste0(dat2 $ newitem [i],「\\ d *」),dat2 $ (我在1:nrow(dat2)){dat3 $序列<-sub(paste0(物品[我],dat3 $序列) } – Avi
是的,應該工作 –
嗨皮埃爾,我得到錯誤的結果使用以下循環: DAT2 $的newitem [I]中, 「\\ d *」),DAT2 $項[I],DAT3 $序列)} 結果爲: 「1」 「<{OV144}>」 0.0754101809002945 「2」 「<{OV145}>」 0.0708876735380732 「3 「」<{OV146}>「0.073832562053008 is:」1「」<{FBBF27370FD0553FAC64E36E95A61E50 EXECUTE PROCEDURE}>「0.227701005025126 」2「」<{FBBF27370FD0553FAC64E36E95A 61E50 EXECUTE PROCEDURE}>「0.286903266331658 」3「」<{FBBF27370FD0553FAC64E36E95A61E50 EXECUTE PROCEDURE}>「0.121309673366834 爲什麼? – Avi