Saltar al contenido

Árbol de regresión en R

Esta crónica fue evaluado por nuestros expertos así garantizamos la veracidad de nuestra esta crónica.

Solución:

Creo que el problema no es que tenga una matriz en lugar de un marco de datos. Cuando descargo y luego cargo su conjunto de datos, obtengo un marco de datos, no una matriz.

El problema es que tiene caracteres incorrectos en los nombres de las columnas. Usar gsub para eliminar los caracteres “-“, ” “, “(” y “)” de los nombres de las columnas. O simplemente puede redefinir los nombres de las columnas usted mismo usando colnames.

O haz lo que hace ulvund y simplemente llama data.framelo que obliga a R a realizar la limpieza del nombre de la columna por usted, de forma predeterminada.

Cuando hago esto, rpart funciona bien

Voltea tu aprender matriz en un marco de datos.

Ejemplo:

load("exa.Rda")
library(rpart)
learn <- data.frame(learn)
rt.model <- rpart(razlika ~ ., learn)
rt.model

rendimientos:

n= 226 

node), split, n, deviance, yval
      * denotes terminal node

  1) root 226 31417.5100   3.3849560  
    2) B.reb>=40.80799 117 12661.2300   0.4871795  
      4) B.ft>=0.7666193 31  2685.4190  -5.7741940  
        8) A.fg2< 0.4645683 22  1846.7730  -8.3181820  
         16) A.ft< 0.7464692 7   365.4286 -14.2857100 *
         17) A.ft>=0.7464692 15  1115.7330  -5.5333330 *
        9) A.fg2>=0.4645683 9   348.2222   0.4444444 *
      5) B.ft< 0.7666193 86  8322.3720   2.7441860  
       10) B.avg.conceded.< 98.19592 76  7255.6320   1.7105260  
         20) A.reb< 39.29941 19  1520.6320  -3.5789470 *
         21) A.reb>=39.29941 57  5026.2110   3.4736840  
           42) A.3pt< 0.3945418 35  2500.1710   0.7714286  
             84) A.ft< 0.7460665 17  1270.2350  -2.4705880 *
             85) A.ft>=0.7460665 18   882.5000   3.8333330 *
           43) A.3pt>=0.3945418 22  1863.8640   7.7727270  
             86) B.ft>=0.7214165 13   718.9231   4.0769230 *
             87) B.ft< 0.7214165 9   710.8889  13.1111100 *
       11) B.avg.conceded.>=98.19592 10   368.4000  10.6000000 *
    3) B.reb< 40.80799 109 16719.2500   6.4954130  
      6) A.fouls>=24.51786 23  2349.9130  -2.2173910  
       12) A.fg2< 0.4551468 16  1266.0000  -5.5000000 *
       13) A.fg2>=0.4551468 7   517.4286   5.2857140 *
      7) A.fouls< 24.51786 86 12156.3800   8.8255810  
       14) B.fouls< 22.80863 24  3271.9580   2.5416670  
         28) A.3pt< 0.3738479 9   626.0000  -6.0000000 *
         29) A.3pt>=0.3738479 15  1595.3330   7.6666670 *
       15) B.fouls>=22.80863 62  7569.8710  11.2580600  
         30) A.fouls< 22.32999 18  1650.5000   5.5000000 *
         31) A.fouls>=22.32999 44  5078.4320  13.6136400  
           62) A.ft.drawn>=29.18849 7   208.8571   3.8571430 *
           63) A.ft.drawn< 29.18849 37  4077.1890  15.4594600  
            126) A.fg2< 0.4588535 18  1696.5000  11.5000000 *
            127) A.fg2>=0.4588535 19  1831.1580  19.2105300 *

Esto también puede suceder si los nombres de las columnas son números enteros. (1:N)aunque se almacenen como caracteres.

Si te ha resultado de provecho nuestro post, sería de mucha ayuda si lo compartes con el resto programadores y nos ayudes a difundir esta información.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *