Re: [問題] 撈資料

看板R_Language作者 (可笑的自以為...)時間10年前 (2014/08/20 17:24), 編輯推噓2(2014)
留言16則, 2人參與, 最新討論串2/7 (看更多)
不是很確定你的資料型態 幫你寫了下面這個程式讓你試試看 應該是可以動吧... ^^ A #左邊的資料表 B #右邊的資料表 A <- data.frame("gene_a"=c("A","B","C"),"Chrom"=c(1,"X",2)) B <- data.frame("Probe_b"=c("a1","a2","a3","a4","a5"),"Chrom2"=c(2,4,1,"X",1)) A B C <- list() for(x in 1:nrow(A)){ C[[as.character(A$gene_a[x])]] <- as.character(B$Probe_b[ which(is.element(as.character((B$Chrom2)),as.character(A$Chrom[x]))) ]) } ※ 引述《yaowei2010 (yaowei)》之銘言: : [問題類型]: : 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來) : [軟體熟悉度]: : 新手(沒寫過程式,R 是我的第一次) : [問題敘述] : 資料的配對(如範例) : [程式範例]: : 表格如下 : gene_a Chromosome gene_start gene_end Probe_b Chromosome2 Chr_s Chr_e : A 1 25000 50000 a1 2 175 200 : B X 1000 2000 a2 4 600 625 : C 2 0 800 a3 1 23575 23600 : a4 X 1010 1035 : a5 1 30000 30025 : 最後想變成這樣 : gene_a match : A a3 a5 : B a4 : C a1 : 有試著寫過code : 但gg QAQ : 想問問強者怎麼寫? 或提示 : 程式碼可貼於以下網站: : http://ideone.com/ : http://codepad.org : http://pastie.org/ : http://nopaste.info/ : http://pastebin.com/ : http://paste.plurk.com : http://gist.github.com/ : http://nopaste.csie.org/ : ※ 編輯: yaowei2010 (140.112.129.5), 08/20/2014 16:22:15 : → yaowei2010: 兩個資料 08/20 16:59 : → yaowei2010: (註 08/20 16:59 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 203.73.70.8 ※ 文章網址: http://www.ptt.cc/bbs/R_Language/M.1408526673.A.127.html

08/20 17:35, , 1F
假設我在附加一個條件是probe在chromosme2的位置要落
08/20 17:35, 1F

08/20 17:36, , 2F
gene的位子中,雖然分類結果如例子一樣,感覺一個for
08/20 17:36, 2F

08/20 17:36, , 3F
迴圈好像不行
08/20 17:36, 3F

08/20 17:36, , 4F
請問大大加上這個條件該如何是好><
08/20 17:36, 4F

08/20 17:45, , 5F
你是指probe的chrom2要等於gene的chrom?? 現在已經是這樣做
08/20 17:45, 5F

08/20 17:45, , 6F
其實沒有看懂你的問題耶... @@"
08/20 17:45, 6F

08/20 17:46, , 7F
不見得等於 就落入範圍中><
08/20 17:46, 7F

08/20 17:47, , 8F
其實我想match同個chromosome上gene之間的位子所包含
08/20 17:47, 8F

08/20 17:47, , 9F
的probe
08/20 17:47, 9F

08/20 17:48, , 10F
不過我是先決定Chromosome再決定位子 剛剛才看到問題
08/20 17:48, 10F

08/20 17:49, , 11F
沒完全打出來 報歉><
08/20 17:49, 11F

08/20 17:50, , 12F
先前是for迴圈 去找該位子相等 然後&去做 同時要位子
08/20 17:50, 12F

08/20 17:51, , 13F
在gene的範圍之內 但是因為兩筆資料數目不同
08/20 17:51, 13F

08/20 17:51, , 14F
害我不知道該怎寫for loop
08/20 17:51, 14F

08/20 18:12, , 15F
請你把問題描述清楚一點(用欄位名稱) 你自己很清楚問題為何
08/20 18:12, 15F

08/20 18:12, , 16F
但是別人不知道細節...
08/20 18:12, 16F
文章代碼(AID): #1Jz6bH4d (R_Language)
討論串 (同標題文章)
本文引述了以下文章的的內容:
0
4
以下文章回應了本文
0
2
完整討論串 (本文為第 2 之 7 篇):
0
4
2
16
0
2
0
1
文章代碼(AID): #1Jz6bH4d (R_Language)