¿Cómo puedo crear números de pedido basados en los valores de otra columna?

Santuario

Estoy intentando crear un número de pedido (1,2,3 ... etc), basado en los valores de la columna dateAndCheckNumber. Cada dateAndCheckNumber único debe tener su propio número de pedido. El siguiente código funciona, pero lleva mucho tiempo porque es un bucle for. Necesito recrear este proceso con un conjunto de datos mucho más grande y estoy buscando algo que se ejecute de manera más eficiente. Intenté usarlo mutatecon el dplyrpaquete, pero no pude averiguar cómo hacer que un contador funcionara.

dataset <- dataset[order(dataset$dateAndCheckNumber),]
for(i in 1:nrow(dataset)){
if(i==1){
  dataset$orderNumber[1] <-1
  count <- 1
}
else{
  if(dataset$dateAndCheckNumber[i]==(dataset$dateAndCheckNumber)[i-1]){
    dataset$dateAndCheckNumber[i] <- count
  } else {
    count <- count+1
    dataset$dateAndCheckNumber[i] <- count
  }
}

}

RHertel

En base R, probablemente la forma más fácil y rápida de lograr esto es mediante as.integer(as.factor()).

Aquí hay un ejemplo con los datos de la respuesta de @dayne:

set.seed(1234)
id <- sample(LETTERS[1:6],6,replace=TRUE)
df1 <- data.frame(id, counter=as.integer(as.factor(id)))
#> df1
#  id counter
#1  A       1
#2  D       2
#3  D       2
#4  D       2
#5  F       3
#6  D       2

Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.

En caso de infracción, por favor [email protected] Eliminar

Editado en
0

Déjame decir algunas palabras

0Comentarios
Iniciar sesiónRevisión de participación posterior

Artículos relacionados

R: ¿Cómo crear una nueva columna con valores basados en ciertos valores de otra columna?

Cómo crear la columna en pandas en función de los valores de otra columna

¿Cómo puedo agregar valores en una columna en función de los valores de búsqueda en otra hoja?

Copiar los valores de una columna, basados en los valores de otra columna

¿Cómo puedo agregar una nueva columna basada en los valores NA de otra columna?

Cómo crear nuevos valores en una columna de marco de datos de pandas en función de los valores de otra columna

¿Cómo puedo crear una columna NUEVA en un marco de datos en función de los valores de otra columna en un marco de datos DIFERENTE que tienen información común?

Función de Python para completar los valores nan basados en otra columna

¿Cómo puedo 'actualizar' los valores de una columna a otra en el mismo marco de datos?

Cómo filtrar una columna en función de los valores de otra columna en SQL

Crear un retraso basado en los valores de otra columna

¿Cómo fusionar los mismos valores de columna basados en otros valores de columna?

¿Cómo imputar valores de NaN en función de los valores de otra columna?

Valores promedio de una columna basados en los valores de otra

¿Cómo restringir los valores en una columna en función de los valores de otra columna en PostgreSQL?

¿Cómo puedo crear una columna binaria basada en los valores de varias otras columnas?

¿Cómo modificar los valores nulos de una columna en función de otra columna?

¿Cómo modificar los valores nulos de una columna en función de otra columna?

¿Cómo puedo contar el número de apariciones de un rango de valores en una columna, contra todos los valores únicos en otra, en MySQL?

Encuentre los valores mínimos de la columna df basados en otra columna

Encuentre los valores mínimos de la columna df basados en otra columna

¿Cómo puedo restar los valores de las filas de una columna de otra fila de columna anterior en función del período del año?

Obtener valores de columna basados en cambios en otra columna

Obtener valores de columna basados en cambios en otra columna

contar valores de texto únicos basados en la condición en otra columna entre los criterios de fecha

¿Cómo puedo agregar una columna a un marco de datos que cuenta hacia arriba en función de los valores de otra columna?

Cómo seleccionar valores de columna basados en una condición mayor que en los valores de fila

¿Cómo encontrar y eliminar duplicados en una columna según los valores de otra columna?

¿Cómo puedo recuperar los valores en una columna que no están contenidos en otra columna en las hojas de Google?