r - 如何使用 R 中的命令 heatmap() 修复错误“x”必须是数字矩阵?
问题描述
我知道这个问题已被多次询问和回答,但我仍然很难过。
我将我的 CSV 读入 R,将其转换为带有 的矩阵as.matrix(data)
,并将名称正确分配给列和行并删除这些因素。当我查看我的矩阵时,它看起来很合适。我什至用过as.numeric(as.matrix(data))
。当我运行对象时is.numeric(data)
,结果是TRUE
.
我对矩阵的看法:
> data
JOHW UOK161 SAUJ.y UOK140 SHEKO.y
AGT "1.819354e+00" " 24.727533" " 819.32560" "1.607498e+02" " 85.094938"
ANXA13 "1.212902e+00" " 1.177502" " 485.30797" "7.442122e-01" " 111.144408"
ASAP3 "6.398060e+02" " 54.753822" " 1430.38139" "2.493111e+02" " 336.906488"
ATL1 "4.669674e+01" " 54.753822" " 288.82701" "1.309814e+02" " 27.786102"
ATP10A "2.428837e+03" " 2591.680909" " 389.03230" "2.999175e+02" " 6.946526"
BCL2L15 "6.852899e+01" " 41.801305" " 243.63639" "1.711688e+01" " 26.049471"
BHMT "1.212902e+00" " 5.887508" " 361.52497" "3.572219e+01" " 92.041463"
CCDC8 "3.032256e+00" " 263.171596" " 762.34613" "1.719130e+02" " 0.000000"
CHMP4C "6.810447e+02" " 618.777064" " 369.38421" "6.489531e+02" " 85.094938"
CLDN2 "2.392450e+03" " 3095.062822" " 1609.17906" "5.313675e+02" "8497.337336"
CLIC3 "9.703219e+01" " 1.766252" " 1186.74500" "1.555404e+02" " 279.597652"
CSF2 "1.114657e+03" " 69.472591" " 0.00000" "6.668142e+02" " 98.987989"
CXCL1 "8.982149e+03" " 195.465257" " 72.69796" "2.701863e+04" "1540.392033"
CXCL8 "8.857826e+03" " 174.270229" " 715.19069" "5.974461e+04" "5925.386264"
DAPK1 "3.502862e+03" "10547.470130" " 471.55430" "2.759539e+03" " 31.259365"
DENND2A "4.427094e+01" " 88.312616" " 459.76545" "3.825251e+02" " 90.304832"
DSP "8.854188e+01" " 8522.167461" " 695.54260" "1.677454e+03" " 45.152416"
EMX2 "0.000000e+00" " 6.476259" " 117.88858" "7.442122e-01" " 797.113803"
ETNK2 "2.910966e+02" " 382.688003" " 294.72144" "1.391677e+02" " 53.835573"
FER1L4 "1.121935e+02" " 469.823118" " 687.68336" "8.357504e+02" " 112.881040"
FLNC "1.819354e+00" " 141.888937" " 807.53675" "2.945592e+03" " 187.556189"
GSN "2.092257e+03" " 2320.855553" " 4743.05038" "4.105075e+03" "1033.295670"
HAGLR "9.945800e+02" " 8.242511" " 43.22581" "5.983466e+02" " 425.474688"
HSPG2 "2.340235e+04" "11716.729160" " 2375.45481" "2.935099e+04" " 329.959962"
IGSF3 "6.301028e+02" " 3352.346910" " 1754.57497" "5.480379e+03" " 230.971973"
IL1R2 "2.480385e+02" " 161.906463" " 296.68625" "2.947080e+02" " 39.942522"
IL4I1 "2.140773e+02" " 97.732629" " 29.47214" "1.112597e+03" " 164.979981"
IL6 "8.490317e+02" " 14.130019" " 86.45162" "7.971257e+03" " 477.573629"
IRX6 "6.064512e-01" " 1.177502" " 159.14958" "3.721061e+01" " 1.736631"
KCNK1 "1.334193e+02" " 193.699005" " 1112.08223" "9.525917e+02" " 107.671145"
KCTD17 "5.003222e+02" " 184.278992" " 756.45170" "1.189251e+03" " 76.411781"
KLF2 "8.369027e+01" " 145.421441" " 196.48096" "1.175855e+02" " 866.579058"
MFSD2A "1.006709e+02" " 77.126351" " 233.81234" "5.834624e+02" " 19.102945"
MLPH "1.819354e+00" " 44.156308" " 115.92377" "2.000443e+03" "1430.984256"
NBL1 "4.634500e+03" " 2298.483024" " 3373.57809" "4.120703e+03" " 720.702022"
PCSK5 "4.857674e+02" " 2237.252943" " 5246.04163" "5.953698e+02" " 659.919924"
PHF2 "1.360877e+03" " 1474.820690" " 263.28449" "5.760203e+02" " 5.209894"
PLEKHF2 "7.720124e+02" " 674.119637" " 117.88858" "6.206730e+02" " 540.092359"
PRUNE2 "9.964600e+03" " 261.994095" "10258.27093" "3.731480e+03" "2823.762622"
PSG1 "7.944511e+01" " 264.937848" " 60.90910" "8.186335e+00" " 595.664563"
PSG4 "3.032256e+00" " 61.818831" " 406.71559" "3.081039e+02" "4027.248167"
RHOB "7.871737e+02" " 8911.331723" "11099.20944" "1.444516e+03" "1839.092630"
SCARF2 "3.638707e+00" " 207.829023" " 261.31968" "1.205624e+02" " 13.893051"
SCN3A "1.983095e+02" " 6.476259" " 475.48392" "8.930547e+01" " 86.831569"
SEMA6D "0.000000e+00" " 42.978807" " 571.75959" "7.442122e-01" " 27.786102"
SMIM24 "3.638707e+00" " 3.532505" " 685.71855" "1.205624e+02" " 100.724620"
SMPDL3A "2.474321e+02" " 1447.149404" " 1937.30227" "2.374037e+02" " 430.684582"
SPOCK1 "6.929918e+03" " 1133.345241" "21233.69736" "2.625953e+04" "4909.456908"
SULF2 "4.851610e+00" " 2137.754062" " 5088.85687" "4.219683e+02" "1125.337133"
TPD52 "2.226889e+03" " 1012.651332" " 1035.45466" "2.391154e+03" " 192.766083"
TRHDE "6.670963e+00" " 1.766252" " 734.83879" "1.488424e+01" " 85.094938"
TTC9 "6.185802e+01" " 64.762585" " 269.17892" "1.815878e+02" " 45.152416"
UGT1A9 "1.028541e+03" " 1622.597135" " 104.13491" "1.827785e+03" "2538.955076"
VAV3 "7.823221e+01" " 592.872030" " 4255.77759" "8.156566e+02" " 423.738056"
VWA7 "3.396127e+01" " 65.351336" " 351.70092" "3.661524e+02" " 60.782098"
WNT5A "1.368154e+03" " 471.589370" " 373.31382" "1.780156e+03" " 67.728624"
当我运行热图命令时:
heatmap(data, scale="column", main="Genomic Expression")
我明白了
Error in heatmap(y, scale = "column", main = "Genomic Expression") :
'x' must be a numeric matrix
我错过了什么吗?............
编辑
dput(data)
> structure(c("1.819354e+00", "1.212902e+00", "6.398060e+02",
> "4.669674e+01", "2.428837e+03", "6.852899e+01", "1.212902e+00",
> "3.032256e+00", "6.810447e+02", "2.392450e+03", "9.703219e+01",
> "1.114657e+03", "8.982149e+03", "8.857826e+03", "3.502862e+03",
> "4.427094e+01", "8.854188e+01", "0.000000e+00", "2.910966e+02",
> "1.121935e+02", "1.819354e+00", "2.092257e+03", "9.945800e+02",
> "2.340235e+04", "6.301028e+02", "2.480385e+02", "2.140773e+02",
> "8.490317e+02", "6.064512e-01", "1.334193e+02", "5.003222e+02",
> "8.369027e+01", "1.006709e+02", "1.819354e+00", "4.634500e+03",
> "4.857674e+02", "1.360877e+03", "7.720124e+02", "9.964600e+03",
> "7.944511e+01", "3.032256e+00", "7.871737e+02", "3.638707e+00",
> "1.983095e+02", "0.000000e+00", "3.638707e+00", "2.474321e+02",
> "6.929918e+03", "4.851610e+00", "2.226889e+03", "6.670963e+00",
> "6.185802e+01", "1.028541e+03", "7.823221e+01", "3.396127e+01",
> "1.368154e+03", " 24.727533", " 1.177502", " 54.753822", "
> 54.753822", " 2591.680909", " 41.801305", " 5.887508", " 263.171596", " 618.777064", " 3095.062822", " 1.766252", " 69.472591", " 195.465257", " 174.270229", "10547.470130", " 88.312616", " 8522.167461", " 6.476259", " 382.688003", " 469.823118", " 141.888937", " 2320.855553", " 8.242511", "11716.729160", " 3352.346910", " 161.906463", " 97.732629", "
> 14.130019", " 1.177502", " 193.699005", " 184.278992", " 145.421441", " 77.126351", " 44.156308", " 2298.483024", " 2237.252943", " 1474.820690", " 674.119637", " 261.994095", " 264.937848", " 61.818831", " 8911.331723", " 207.829023", " 6.476259", " 42.978807", " 3.532505", " 1447.149404", " 1133.345241", " 2137.754062", " 1012.651332", " 1.766252", " 64.762585", " 1622.597135", " 592.872030", " 65.351336", " 471.589370", " 819.32560", " 485.30797", " 1430.38139", " 288.82701", " 389.03230", " 243.63639", " 361.52497", " 762.34613", " 369.38421", " 1609.17906", " 1186.74500", " 0.00000", " 72.69796", " 715.19069", " 471.55430", " 459.76545", " 695.54260", " 117.88858", " 294.72144", " 687.68336", "
> 807.53675", " 4743.05038", " 43.22581", " 2375.45481", " 1754.57497", " 296.68625", " 29.47214", " 86.45162", " 159.14958", " 1112.08223", " 756.45170", " 196.48096", " 233.81234", " 115.92377", " 3373.57809", " 5246.04163", " 263.28449", " 117.88858", "10258.27093", " 60.90910", " 406.71559", "11099.20944", " 261.31968", " 475.48392", " 571.75959", " 685.71855", " 1937.30227", "21233.69736", " 5088.85687", " 1035.45466", " 734.83879", " 269.17892", " 104.13491", " 4255.77759", " 351.70092", " 373.31382", "1.607498e+02", "7.442122e-01", "2.493111e+02", "1.309814e+02",
> "2.999175e+02", "1.711688e+01", "3.572219e+01", "1.719130e+02",
> "6.489531e+02", "5.313675e+02", "1.555404e+02", "6.668142e+02",
> "2.701863e+04", "5.974461e+04", "2.759539e+03", "3.825251e+02",
> "1.677454e+03", "7.442122e-01", "1.391677e+02", "8.357504e+02",
> "2.945592e+03", "4.105075e+03", "5.983466e+02", "2.935099e+04",
> "5.480379e+03", "2.947080e+02", "1.112597e+03", "7.971257e+03",
> "3.721061e+01", "9.525917e+02", "1.189251e+03", "1.175855e+02",
> "5.834624e+02", "2.000443e+03", "4.120703e+03", "5.953698e+02",
> "5.760203e+02", "6.206730e+02", "3.731480e+03", "8.186335e+00",
> "3.081039e+02", "1.444516e+03", "1.205624e+02", "8.930547e+01",
> "7.442122e-01", "1.205624e+02", "2.374037e+02", "2.625953e+04",
> "4.219683e+02", "2.391154e+03", "1.488424e+01", "1.815878e+02",
> "1.827785e+03", "8.156566e+02", "3.661524e+02", "1.780156e+03", "
> 85.094938", " 111.144408", " 336.906488", " 27.786102", " 6.946526", " 26.049471", " 92.041463", " 0.000000", " 85.094938", "8497.337336", " 279.597652", " 98.987989", "1540.392033", "5925.386264", " 31.259365", " 90.304832", "
> 45.152416", " 797.113803", " 53.835573", " 112.881040", " 187.556189", "1033.295670", " 425.474688", " 329.959962", " 230.971973", " 39.942522", " 164.979981", " 477.573629", " 1.736631", " 107.671145", " 76.411781", " 866.579058", " 19.102945", "1430.984256", " 720.702022", " 659.919924", " 5.209894", "
> 540.092359", "2823.762622", " 595.664563", "4027.248167", "1839.092630", " 13.893051", " 86.831569", " 27.786102", "
> 100.724620", " 430.684582", "4909.456908", "1125.337133", " 192.766083", " 85.094938", " 45.152416", "2538.955076", " 423.738056", " 60.782098", " 67.728624"), .Dim = c(56L, 5L ), .Dimnames = list(c("AGT", "ANXA13", "ASAP3", "ATL1", "ATP10A",
> "BCL2L15", "BHMT", "CCDC8", "CHMP4C", "CLDN2", "CLIC3", "CSF2",
> "CXCL1", "CXCL8", "DAPK1", "DENND2A", "DSP", "EMX2", "ETNK2",
> "FER1L4", "FLNC", "GSN", "HAGLR", "HSPG2", "IGSF3", "IL1R2", "IL4I1",
> "IL6", "IRX6", "KCNK1", "KCTD17", "KLF2", "MFSD2A", "MLPH", "NBL1",
> "PCSK5", "PHF2", "PLEKHF2", "PRUNE2", "PSG1", "PSG4", "RHOB",
> "SCARF2", "SCN3A", "SEMA6D", "SMIM24", "SMPDL3A", "SPOCK1", "SULF2",
> "TPD52", "TRHDE", "TTC9", "UGT1A9", "VAV3", "VWA7", "WNT5A"),
> c("JOHW", "UOK161", "SAUJ.y", "UOK140", "SHEKO.y" )))
解决方案
在导入我的 csv 时使用 stringsAsFactors 可以解决问题:
heatmapmatrix <- read.csv(file = 'heatmapmatrix.csv', stringsAsFactors = FALSE)
rownames(heatmapmatrix) <- heatmapmatrix[, 1]
data <- heatmapmatrix[,-1]
data <- as.matrix(data)
heatmap(data)
推荐阅读
- go - gorm 预加载不适用于对象集合吗?
- swiftui - GeometryReader 更新后损坏
- python - 无法通过终端安装 pipenv (Python)
- node.js - “请求超时”H12 Heroku 错误绑定访问 MongoDB Atlas
- r - 嵌套在 R 中的 sapply - 击穿
- php - 双重显示来自laravel数据库的一些数据
- javascript - 如何使用谷歌脚本从谷歌表格中提取特定列到谷歌文档?
- apache-camel - Apache Camel Cron 作业调度与quartz2
- javascript - tiff.js 使用 Tampermonkey 无法显示多页 tiff
- java - 只是被这个问题困住了。java IO 难度不大