簡體   English   中英

R 中的腳本越界

[英]Script out of bounds in R

我正在使用基於 Deseq2 的代碼。 我的目標之一是 plot 數據的熱圖。

heatmap.data <- counts(dds)[topGenes,]

我得到的錯誤是

計數錯誤(dds)[topGenes,]:下標超出范圍

我的計數(dds)function 的前幾行看起來像這樣。

                      99h1   99h2   99h3   99h4   wth1   wth2
ENSDARG00000000002    243    196    187    117     91     96
ENSDARG00000000018     42     55     53     32     48     48
ENSDARG00000000019     91     91    108     64     95     94
ENSDARG00000000068      3     10     10     10     30     21
ENSDARG00000000069     55     47     43     53     51     30
ENSDARG00000000086     46     26     36     18     37     29
ENSDARG00000000103    301    289    289    199    347    386
ENSDARG00000000151     18     19     17     14     22     19
ENSDARG00000000161     16     17      9     19     10     20
ENSDARG00000000175     10      9     10      6     16     12
ENSDARG00000000183     12      8     15     11      8      9
ENSDARG00000000189     16     17     13     10     13     21
ENSDARG00000000212    227    208    259    234     78     69
ENSDARG00000000229     68     72     95     44     71     64
ENSDARG00000000241     71     92     67     76     88     74
ENSDARG00000000324     11      9      6      2      8      9
ENSDARG00000000370     12      5      7      8      0      5
ENSDARG00000000394    390    356    339    283    313    286
ENSDARG00000000423      0      0      2      2      7      1
ENSDARG00000000442      1      1      0      0      1      1
ENSDARG00000000472     16      8      3      5      7      8
ENSDARG00000000476      2      1      2      4      6      3
ENSDARG00000000489    221    203    169    144     84    114
ENSDARG00000000503    133    118    139     89     91    112
ENSDARG00000000529     31     25     17     26     15     24
ENSDARG00000000540     25     17     17     10     28     19
ENSDARG00000000542     15      9      9      6     15     12

我如何確保頂級基因的所有元素都存在於其中? 當我嘗試查看數據集中的 20 個頂級基因時。 它看起來像一個基因列表

6339"  "12416" "1241"  "3025"  "12791" "846"   "15090"
 [8] "6529"  "14564" "4863"  "12777" "1122"  "7454"  "13716"
[15] "5790"  "3328"  "1231"  "13734" "2797"  "9072" with the column head V1.

我都用過

topGenes <- read.table("E://mir99h50 Cheng data//topGenesresordered.txt",header = TRUE)

topGenes <- read.table("E://mir99h50 Cheng data//topGenesresordered.txt",header = FALSE)

查看是否刪除了越界錯誤。 然而這並沒有什么用。 我猜是V1頭導致了這個問題。 使用上述代碼片段生成了頂級基因 function。

resordered <- res[order(res$padj),]
    
#Reorder gene list by increasing pAdj    
resordered <- as.data.frame(res[order(res$padj),])
    
#Filter for genes that are differentially expressed with an FDR < 0.01        
ii <- which(res$padj < 0.01)
length(ii)
        
# Use the rownames() function to get the top 20 differentially expressed genes from our results table        
topGenes <- rownames(resordered[1:20,])
topGenes
        
# Get the counts from the DESeqDataSet using the counts() function
heatmap.data <- counts(dds)[topGenes,]

也許這會做你想要的?

counts_dds <- counts(dds)
topgenes <- c("ENSDARG00000000002", "ENSDARG00000000489", "ENSDARG00000000503",
              "ENSDARG00000000540", "ENSDARG00000000529", "ENSDARG00000000542")

heatmap.data <- counts_dds[rownames(counts_dds) %in% topgenes,]

如果您提供更多信息,將更容易就如何解決您的問題向您提供建議。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM