R中pcpr2包中的数据矩阵格式问题

s5a0g9ez  于 2023-02-06  发布在  其他
关注(0)|答案(1)|浏览(107)

我一直在尝试使用以下教程运行pcpr2包:https://github.com/JoeRothwell/pcpr2
此程序包的数据可在此链接中找到:https://github.com/JoeRothwell/pcpr2/raw/master/data/PCPR2data.RData

transcripts <- read.csv("test_matrix.csv", row.names = 1)

Z_metadata <- read.csv("test_trait.csv")

output <- runPCPR2(transcripts , Z_metadata, pct.threshold = 0.8)

每次我尝试使用我的数据运行pcpr2包中的代码时,我都会得到以下错误:

Error in runPCPR2(transcripts, Z_metadata, pct.threshold = 0.8) : 
  is.numeric(X_DataMatrix) is not TRUE

我尝试通过以下命令将datamatrix转换为数字格式:

transcripts  = lapply(transcripts , as.double) 

transcripts  = do.call("cbind", transcripts)

然而,这也不起作用。我得到另一个错误消息:

Error in solve.default(crossprod(model.matrix(mod))) : 
  Lapack routine dgesv: system is exactly singular: U[15,15] = 0

我可以告诉我的datamatrix有问题,因为数据类型和类与教程中使用的不一样。但是,我不知道如何解决这个问题。任何形式的帮助都将非常感谢。

rm5edbpk

rm5edbpk1#

导入test_matrix数据集时要小心(有行名称,应该是矩阵):

transcripts=as.matrix(read.csv("https://raw.githubusercontent.com/dtonmoy/PCPR2-data/main/test_matrix.csv",row.names=1))
Z_metadata=read.csv("https://raw.githubusercontent.com/dtonmoy/PCPR2-data/main/test_trait.csv")

output <- runPCPR2(transcripts , Z_metadata, pct.threshold = 0.8)

相关问题