'R NLME: invalid type (list) for variable 'p'

I want to sort the matrix where all the summary statistics are stored by p-value. My code is raising invalid type (list) for variable 'p' error.

Code

for (i in 1:nrow(p)){
  p.a.sort <- sort(rep(r$Class, nrow(p[i,])))
  p.b.sort <- c(sort(rep(1:sum(r$Class==0), nrow(p[i,]))), sort(rep(1:sum(r$Class==1), nrow(p[i,]))))
  p.c.sort <- rep(1:nrow(p[i,]), ncol(p[i,]))
}

pmx <- data.frame(colnames(p), p.a.sort, p.b.sort, p.c.sort)
for (j in colnames(p)){
  lmx <- lme(p[,j]~p.a.sort*p.c.sort, pmx,random=~1| p.b.sort) 
}

Traceback:

Error in model.frame.default(formula = ~p + j + p.a.sort + p.c.sort +  : 
  invalid type (list) for variable 'p'

Data

> dput(p[1:3,])
structure(list(JHU_113_2.CEL = c(0.09655, 0.64864, 0.0073), JHU_144.CEL = c(0.04224, 
0.38068, 0.00293), JHU_173.CEL = c(0.22314, 0.49589, 0.03034), 
    JHU_176R.CEL = c(0.03202, 0.38359, 0.02571), JHU_182.CEL = c(0.03889, 
    0.9356, 0.00436), JHU_186.CEL = c(0.03532, 0.28369, 0.00788
    ), JHU_187.CEL = c(0.06716, 0.39982, 0.0052), JHU_188.CEL = c(0.35315, 
    0.20404, 0.01704), JHU_203.CEL = c(0.69236, 0.25617, 0.03273
    ), JHU_205.CEL = c(0.21461, 0.97292, 0.0672), JHU_207.CEL = c(0.36181, 
    0.48171, 0.06545), JHU_210.CEL = c(0.36106, 0.33458, 0.00116
    ), JHU_211R3.CEL = c(0.1347, 0.64219, 0.00873), JHU_214.CEL = c(0.4953, 
    0.88915, 0.05717), JHU_215.CEL = c(0.10391, 0.73075, 0.06269
    ), JHU_220.CEL = c(0.31615, 0.58742, 0.03684), JHU_221.CEL = c(0.07842, 
    0.3609, 0.02094), JHU_222.CEL = c(0.45757, 0.60542, 0.10975
    ), JHU_229.CEL = c(0.04073, 0.9901, 0.00359), JHU_231.CEL = c(0.09254, 
    0.90981, 0.00764), JHU_80.CEL = c(0.06598, 0.26533, 0.03794
    ), JHU_88.CEL = c(0.07061, 0.24361, 0.00038), JHU_95.CEL = c(0.01362, 
    0.73908, 0.00174), JHU_016.CEL = c(0.52139, 0.963, 0.01604
    ), JHU_046.CEL = c(0.11005, 0.57058, 0.00796), JHU_096.CEL = c(0.02028, 
    0.77603, 0.02158)), row.names = c(2315252L, 2315253L, 2315374L
), class = "data.frame")

> dput(r$Class)
c(1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 
0, 0, 0, 0, 0, 1)

> dput(pmx[1:3,])
structure(list(colnames.p. = c("JHU_113_2.CEL", "JHU_144.CEL", 
"JHU_173.CEL"), p.a.sort = c(0, 0, 0), p.b.sort = 1:3, p.c.sort = c(1L, 
1L, 1L)), row.names = c(NA, 3L), class = "data.frame")


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source