проблемы с lapply; нижний индекс (и не могу понять, где проблема) - PullRequest
0 голосов
/ 29 мая 2019

Может кто-нибудь помочь!

Я пытаюсь использовать lapply для зацикливания lstrends () по большому списку, но я получил ошибку и не могу вспомнить исправление

Ошибка:

«Ошибка в данных [[var]]: индекс за пределами»

Код:

    ## Test data 
  Tissue=c("Normal","Normal","Normal","Normal","Tumor","Tumor","Tumor","Tumor")
    GeneY = c(34,12,11,8,53,32,39,80)
    GeneZ = c(4,7,3,9,44,32,56,77)
    GeneX = c(42,54,59,22,35,12,22,40)
    dvList <- c("GeneY", "GeneZ")
    breast = data.frame(Tissue, GeneX,GeneY,GeneZ)

    ## linear regression lapply works fine
    model = lapply(dvList, function(x) {
        lm(substitute(i~GeneX*Tissue, list(i = as.name(x))), data = breast)})
    library(lsmeans)

    ## selecting individual components of the list works fine
    m.lst = as.data.frame(lstrends(model[[2]], "Tissue", var="GeneX"))

    ## lapply for lstrends doesn't work for me
    m.lst = lapply(model, function(x) {
       as.data.frame(lstrends(model, "Tissue", var="GeneX"))})

1 Ответ

0 голосов
/ 31 мая 2019

маленькая опечатка:

m.lst = lapply(model, function(x) {
  as.data.frame(lstrends(x, "Tissue", var="GeneX"))})

кредит для пользователя reddit suspicious_gardener

...