R predecir () Mensaje de advertencia: ‘newdata’ tenía X filas pero las variables encontradas tienen Y filas

Se el primero en calificar

En este artículo, mostraré cómo manejar la función de predicción «Mensaje de advertencia: ‘nuevos datos’ tenía X filas pero las variables encontradas tienen Y filas» en la programación R.

El contenido del tutorial se ve así:

Sumerjámonos en el ejemplo del código R:

Creación de Datos Ejemplificantes

El primer paso es crear algunos datos de ejemplo. Dado que crearemos datos aleatorios, tenemos que establecer una semilla aleatoria :

establecer _ seed ( 563988727 )                     # Establecer semilla aleatoria

A continuación, podemos crear nuestro primer marco de datos como se muestra a continuación:

x1 <- rnorm ( 100 )                        # Crear el primer marco de datos 
y1 <- rnorm ( 100 )  + x1
datos1 < -datos . marco ( x1, y1 ) 
cabeza ( datos1 )                             # Imprime el primer marco de datos

tabla 1 marco de datos r mensaje de advertencia newdata x filas pero se encontraron variables

Eche un vistazo a la tabla que se devolvió después de ejecutar el código R anterior. Muestra que nuestro primer marco de datos de ejemplo tiene 100 filas y dos columnas llamadas x1 e y1.

Vamos a crear un segundo marco de datos:

datos2 < -datos . frame ( x2 = rnorm ( 50 ) )     # Crea el segundo marco de datos 
head ( data2 )                             # Imprime el segundo marco de datos

tabla 2 marco de datos r mensaje de advertencia newdata x filas pero se encontraron variables

Después de ejecutar la sintaxis anterior, se ha creado el marco de datos ilustrado en la Tabla 2. Este marco de datos contiene solo una variable llamada x2.

Ahora, podemos estimar un modelo de regresión lineal utilizando nuestro primer marco de datos y la función lm:

mod <- lm ( y1 ~ x1, data1 )               # Modelo lineal estimado

El código R anterior ha creado un objeto modelo llamado mod.

Ejemplo 1: reproduzca el mensaje de advertencia: ‘newdata’ tenía filas X pero las variables encontradas tienen filas Y

El ejemplo 1 muestra cómo replicar el «Mensaje de advertencia: ‘nuevos datos’ tenía X filas pero las variables encontradas tienen Y filas» en R.

Supongamos que queremos usar nuestro mod de objeto de modelo lineal para predecir valores para el segundo marco de datos. Para esto, podríamos intentar aplicar la función de predicción como se muestra a continuación:

pred_values ​​<- predict ( mod, data2 )      # Aplicar la función de predicción 
# Mensaje de advertencia: 
# 'newdata' tenía 50 filas pero las variables encontradas tienen 100 filas

Desafortunadamente, la consola de RStudio devuelve el «Mensaje de advertencia: ‘nuevos datos’ tenía X filas pero las variables encontradas tienen Y filas» después de ejecutar la sintaxis anterior.

La razón de esto es que el nombre de la columna de nuestro predictor en el segundo marco de datos es diferente del nombre del predictor en el primer marco de datos (es decir, x2 en los segundos datos y x1 en los primeros datos).

Entonces, ¿cómo podemos resolver este problema?

Ejemplo 2: corregir el mensaje de advertencia: ‘newdata’ tenía filas X pero las variables encontradas tienen filas Y

El ejemplo 2 ilustra cómo lidiar con el «Mensaje de advertencia: ‘nuevos datos’ tenía X filas pero las variables encontradas tienen Y filas».

Como primer paso, tenemos que armonizar los nombres de las variables data1 y data2. Para lograr esto, simplemente podemos cambiar el nombre de la columna del predictor en el segundo marco de datos:

colnames ( data2 )  <-  "x1"                 # Cambiar el nombre de la columna

A continuación, podemos aplicar la función de predicción como ya lo hicimos antes:

pred_values ​​<- predecir ( mod, data2 )      # Aplicar 
cabeza de función de predicción ( pred_values ​​)                       # Imprimir valores predichos

Esta vez funciona sin ningún mensaje de advertencia. La salida anterior de la consola de RStudio muestra la cabeza de nuestros valores correctamente predichos.

Video, recursos adicionales y resumen

Recientemente publiqué un video en mi canal de YouTube, que ilustra los ejemplos de este tutorial. Puedes encontrar el video a continuación:

El video de YouTube se agregará pronto.

Además, es posible que desee echar un vistazo a los otros artículos de este sitio web. Puede encontrar algunos tutoriales relacionados a continuación:

Resumen: En este artículo, he ilustrado cómo evitar el «Mensaje de advertencia: ‘nuevos datos’ tenía X filas pero las variables encontradas tienen Y filas» en R. Házmelo saber en la sección de comentarios, si tienes más preguntas.

Alejandro Lugon Administrator

Alejandro Lugón es un economista y escritor especializado en Python y R, conocido por ser el creador del blog Estadisticool. Nacido enxico, Lugón se graduó de la Universidad Autónoma dexico con una Licenciatura en Economía. Desde entonces ha trabajado como economista en varias empresas. Lugón también ha escrito varios libros sobre temas relacionados con la economía, el análisis de datos y la programación. Su blog Estadisticool se ha convertido en un lugar de referencia para los programadores de Python y R. Alejandro Lugón es una inspiración para aquellos que buscan aprender programación y análisis de datos. Su trabajo ha ayudado a muchas personas a entender mejor el uso de la tecnología para hacer sus trabajos.

En esta página, mostraré cómo contar la cantidad de elementos de la lista y la cantidad de objetos dentro de…