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.frame
lo 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.