2016-04-07 17 views
-1

Bir işlev çağrısında Değerler listemdeki (RStudio'da) öğeleri tanımak için R alma konusunda bir sorun yaşıyorum (sadece genel bir işlev olarak burada belirtin). İşte bir örnek ... gayet aşağıdaki eserlerini doğrudan bunu yazarsanız:Döngüler için R içinde değerler listesindeki öğeleri tanıma

result <- function(cnv.chr1.S1, cnv.chr1.S2, cnv.chr1.S3) 

cnv.chr1.S1, cnv.chr1.S2 ve cnv.chr1.S3 nesneler (özellikle nesneleri GRANGES çünkü) Daha önce oluşturduğum.

Ama farklı kromozomlar üzerinde döngü ediyorum ve gerçekten birçok 3'ten fazla örnekleri (S1, S2, S3) olduğu gibi, ben Ancak bunu izleyen (burada basitleştirilmiş)

chrom <- paste("chr", 1:1, sep = "") 
sample.names <- paste("S", 1:3, sep = "") 
for (thischrom in chrom) 
{ 
    for (sample in sample.names) 
    { 
    a <- function(list(paste(paste("cnv", thischrom, sep = "."), sample.names, sep = "."))) 
    } 
} 

denedim

, Değerlerim listesindeki öğelerle aynı ada sahip öğelerin bir karakter listesini oluşturduğu için çalışmaz. Değerler listemdeki uygun nesnelere R'yi nasıl alabilirim?

Sahip olabileceğiniz tüm düşünceler için teşekkürler!

Steve

cevap

-1

Böyle bir şey mi arıyorsunuz?

library(dplyr) 

chrom <- paste("chr", 1:1, sep = "") 
sample.names <- paste("S", 1:2, sep = "") 

cnv.chr1.S1 = c(1, 2) 
cnv.chr1.S2 = c(2, 3) 

result = 
    data_frame(chrom = chrom) %>% 
    merge(data_frame(sample.names = sample.names)) %>% 
    rowwise %>% 
    mutate(object = 
      paste("cnv", chrom, sample.names, sep = ".") %>% 
      parse(text = .) %>% 
      eval %>% 
      list) 
+0

Bunun için teşekkürler, ancak ben de alıyorum o değil - onun ben macun işlevinden yaratıyorum isimler isimlerin doğru liste oluşturmak, ancak R öğe listesi olarak gördüğü İçinde zaten bilgi depolamış olan nesnelere veya değişkenlere atıfta bulunmak yerine. – Steven

+0

Her bir öğeyi değerlendirmek ister misiniz? Bunu yapmak için düzenlemeye bakın – bramtayl

İlgili konular