Re: [問題] 撈資料

看板R_Language作者 (可笑的自以為...)時間10年前 (2014/08/20 18:27), 編輯推噓0(002)
留言2則, 1人參與, 最新討論串3/7 (看更多)
依照我對你的問題的理解 把程式做了下面的修改 不知道這是不是你要的 可是結果變得有點不一樣了說... @@" A <- data.frame("gene_a"=c("A","B","C"),"Chrom"=c(1,"X",2), "gene_s"=c(25000,1000,0),"gene_e"=c(50000,2000,800)) B <- data.frame("Probe_b"=c("a1","a2","a3","a4","a5"),"Chrom2"=c(2,4,1,"X",1), "chr_s"=c(175,600,23575,1010,30000),"chr_e"=c(200,625,23600,1035,30025)) A B C <- list() for(x in 1:nrow(A)){ idx <- ( is.element(as.character((B$Chrom2)),as.character(A$Chrom[x])) ) & ( B$chr_s >= A$gene_s[x] ) & ( A$gene_e[x] >= B$chr_e ) if(sum(idx)>0){ C[[as.character(A$gene_a[x])]] <- as.character(B$Probe_b[which(idx)]) } } C $A [1] "a5" $B [1] "a4" $C [1] "a1" ※ 引述《koai (可笑的自以為...)》之銘言: : 不是很確定你的資料型態 : 幫你寫了下面這個程式讓你試試看 : 應該是可以動吧... ^^ : 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: 兩個資料 08/20 16:59 : : → yaowei2010: (註 08/20 16:59 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 203.73.70.8 ※ 文章網址: http://www.ptt.cc/bbs/R_Language/M.1408530439.A.7A2.html

08/20 18:32, , 1F
大大感謝 雖然結果一點點不同 但我有想從大大的寫法
08/20 18:32, 1F

08/20 18:33, , 2F
去寫寫看>< 感恩神回復
08/20 18:33, 2F
文章代碼(AID): #1Jz7W7UY (R_Language)
討論串 (同標題文章)
本文引述了以下文章的的內容:
2
16
完整討論串 (本文為第 3 之 7 篇):
0
4
2
16
0
2
0
1
文章代碼(AID): #1Jz7W7UY (R_Language)