0

pSIパッケージでcandidate.overlap関数を実行していますが、行名に関するエラーメッセージが表示されます:

    > candidate.overlap(pSIs = psI_output, candidate.genes = dat2.1)
Error in `row.names<-.data.frame`(`*tmp*`, value = value) : 
   duplicate 'row.names' are not allowed
In addition: Warning message:
non-unique values when setting 'row.names': ‘C21ORF59’, ‘C6ORF165’ 

同じ候補.genes リストで実行されたサンプル フィルターはエラー メッセージをスローしないため、関数と dat2.1 がエラーではないことがわかります。

 > candidate.overlap(pSIs = sample.data$pSI.output, candidate.genes = dat2.1)
    $pSi_0.0001
    [1] Amygdala.Young.Adulthood_0.0001    Cerebellum.Young.Adulthood_0.0001 
    [3] Cortex.Young.Adulthood_0.0001      Hippocampus.Young.Adulthood_0.0001
    [5] Striatum.Young.Adulthood_0.0001    Thalamus.Young.Adulthood_0.0001   
    <0 rows> (or 0-length row.names)

回答を読んで、以前に行名で問題が発生していたため、一意の = TRUE で make.names 関数を使用しましたが、この手順の前に解決したと思いました。重複する行名を確認しました:

> anyDuplicated(rownames(psI_output))
[1] 0
> anyDuplicated(rownames(sample.data$pSI.output))
[1] 0

そしてチェックされたstr:(データフレームに値があり、それらはすべてNAではありません)

> str(psI_output)
'data.frame':   55993 obs. of  12 variables:
 $ Adipose...Subcutaneous             : num  NA NA NA NA NA NA NA NA NA NA ...
 $ Artery...Tibial                    : num  NA NA NA NA NA NA NA NA NA NA ...
 $ Artery...Aorta                     : num  NA NA NA NA NA NA NA NA NA NA ...
 $ Artery...Coronary                  : num  NA NA NA NA NA NA NA NA NA NA ...
 $ Colon...Transverse                 : num  NA NA NA NA NA NA NA NA NA NA ...
 $ Lung                               : num  NA NA NA NA NA ...
 $ Stomach                            : num  NA NA NA NA NA NA NA NA NA NA ...
 $ Skin...Sun.Exposed..Lower.leg.     : num  NA NA NA NA NA NA NA NA NA NA ...
 $ Skin...Not.Sun.Exposed..Suprapubic.: num  NA NA NA NA NA NA NA NA NA NA ...
 $ Nerve...Tibial                     : num  NA NA NA NA NA NA NA NA NA NA ...
 $ Muscle...Skeletal                  : num  NA NA NA NA NA NA NA NA NA NA ...
 $ Whole.Blood                        : num  NA NA NA NA NA ...

R のヘッダーに問題がありますか。たとえば、スキンが 2 回繰り返された後に ... が続くなどですか? または、エラーが発生している場所を検出する方法はありますか? どんな助けでも感謝します。サイエンス

4

1 に答える 1

0

TSEA/pSI チームの Alan Wells に感謝します。

したがって、pSI.list および Candidate.overlap 関数で実行する最初のステップは、すべての遺伝子/転写産物名を大文字に変換することです。これは、これらの遺伝子名をユーザー提供のリストに一致させようとするときに、遺伝子名で使用される文字の大文字と小文字が原因で一致しないという問題に遭遇したくなかったためです。すべての遺伝子名を大文字に変換すると、C6ORF165 と C21ORF59 という 2 つの遺伝子名がデータセットで重複しているように見えます。

興味深いのは、一意の = TRUE に設定された make.names 関数が、文字の大文字と小文字を組み合わせて、一意の行名を呼び出すことです。何かを学んだ。

于 2016-03-29T18:44:44.417 に答える