Ошибка в rowSums(tbl.external.all): 'x' должен быть числовым
Я пытаюсь запустить инструмент R, производный от SKAT, но застрял в нем с какой-то ошибкой. При запуске почти последнего шага скрипта
re<-iECAT.SSD.All(EC.INFO, obj=obj, method="optimal")
Я получаю следующую ошибку:
Error in rowSums(tbl.external.all) : 'x' must be numeric
In addition: Warning messages:
1: Error to run iECAT for 1:1918090: Error in rowSums(tbl.external.all) : 'x' must be numeric
2: In if (class(try1) != "try-error") { :
the condition has length > 1 and only the first element will be used
3: No polymorphic SNPs!
4: In if (class(try1) != "try-error") { :
the condition has length > 1 and only the first element will be used
Предыдущие функции и назначения объектов прошли без проблем. Вот командные строки, которые я использовал в своем сценарии R:
library(SKAT)
library(MetaSKAT)
library(iECAT)
File.Bed<-"file.bed"
File.Bim<-"file.bim"
File.Fam<-"fam_all.fam"
File.SetID<-"file.setID"
File.EC<-("file.txt")
File.SSD<-"file.SSD"
File.Info<-"file.SSD.INFO"
File.EC.Info<-"file.SSD.ECINFO"
FAM<-Read_Plink_FAM(File.Fam, Is.binary=TRUE)
Generate_SSD_SetID_wEC(File.Bed, File.Bim, File.Fam, File.SetID, File.EC, File.SSD, File.Info, File.EC.Info)
EC.INFO= Open_SSD_wEC(File.SSD, File.Info, File.EC.Info)
obj<-SKAT_Null_Model(Phenotype ~ 1, out_type="D", data=FAM)
re<-iECAT.SSD.All(EC.INFO, obj=obj, method="optimal") #here error occurs
re
фрагменты моих входных файлов:bim:
1 rs201219564 0 69270 A G
1 rs2691305 0 69511 A G
1 rs200505207 0 69761 A T
1 rs200676709 0 69897 T C
fam:
1 1 0 0 1 2
2 2 0 0 1 2
3 3 0 0 1 2
установить идентификатор:
set1_183937 rs1169172101
set1_601436 rs373360530
set1_601667 rs879812396
set1_609407 rs61769279
set1_611317 rs12025928
set1_923421 rs7418179
EC
1 69183 rs1333310753 C T 0 498
1 69200 rs1453226491 T C 0 496
1 69208 rs1570409667 A C 0 478
1 69335 rs773188222 G A 0 1066
1 69404 rs1328728149 T C 0 1486
1 69428 rs140739101 T G 20 1652
1 69438 rs758790416 T C 0 1768
1 69440 rs1424058787 T G 0 1766
1 69448 rs1366217262 T A 0 1828
1 69462 rs1217994907 C G 0 1870
Я попытался поиграть с файлом setID, изменив его на:
1:183937 rs1169172101
1:601436 rs373360530
1:601667 rs879812396
но проблема не исчезла. Я попытался найти проблему в подозрительной функции, но ничего не увидел:
> print(rowSums)
new("standardGeneric", .Data = function (x, na.rm = FALSE, dims = 1,
...)
standardGeneric("rowSums"), generic = "rowSums", package = "base",
group = list(), valueClass = character(0), signature = "x",
default = new("derivedDefaultMethod", .Data = function (x,
na.rm = FALSE, dims = 1, ...)
base::rowSums(x, na.rm = na.rm, dims = dims, ...), target = new("signature",
.Data = "ANY", names = "x", package = "methods"), defined = new("signature",
.Data = "ANY", names = "x", package = "methods"), generic = "rowSums"),
skeleton = (new("derivedDefaultMethod", .Data = function (x,
na.rm = FALSE, dims = 1, ...)
base::rowSums(x, na.rm = na.rm, dims = dims, ...), target = new("signature",
.Data = "ANY", names = "x", package = "methods"), defined = new("signature",
.Data = "ANY", names = "x", package = "methods"), generic = "rowSums"))(x,
na.rm, dims, ...))
<bytecode: 0x399c868>
<environment: 0x39a4718>
attr(,"generic")
[1] "rowSums"
attr(,"generic")attr(,"package")
[1] "base"
attr(,"package")
[1] "base"
attr(,"group")
list()
attr(,"valueClass")
character(0)
attr(,"signature")
[1] "x"
attr(,"default")
Method Definition (Class "derivedDefaultMethod"):
function (x, na.rm = FALSE, dims = 1, ...)
base::rowSums(x, na.rm = na.rm, dims = dims, ...)
<environment: 0x301fa08>
Signatures:
x
target "ANY"
defined "ANY"
attr(,"skeleton")
(new("derivedDefaultMethod", .Data = function (x, na.rm = FALSE,
dims = 1, ...)
base::rowSums(x, na.rm = na.rm, dims = dims, ...), target = new("signature",
.Data = "ANY", names = "x", package = "methods"), defined = new("signature",
.Data = "ANY", names = "x", package = "methods"), generic = "rowSums"))(x,
na.rm, dims, ...)
attr(,"class")
[1] "standardGeneric"
attr(,"class")attr(,"package")
[1] "methods"
Заранее спасибо!