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 回繰り返された後に ... が続くなどですか? または、エラーが発生している場所を検出する方法はありますか? どんな助けでも感謝します。サイエンス