Buenas Carlos,
No me funciona...me sigue dando error. Te paso mejor una pequeña muestra
del archivo de R para que veas si hay algún error.
Muchas gracias,
Miriam
El Lun, 3 de Abril de 2017, 22:08, Carlos Ortega escribió:
Hola Miriam,
Utiliza el paquete, "lubridate".
y haz algo como esto, suponiendo que tu data.frame se llama "mydf"..
#----------
library(lubridate)
mydf$fecha <- ymd(mydf$fecha_sin_formato)
#----------
Ya me cuentas si funciona,
Carlos.
El 3 de abril de 2017, 20:08, <miriam.alzate en unavarra.es> escribió:
Muchas gracias por la respuesta Carlos. Estoy haciéndolo y me da el
siguiente error al crear la variable miju:
"Warning message: All formats failed to parse. No formats found"
Estoy mirando el formato de la variable fecha y, aunque al importar la
base de datos a R, seleccioné el formato fecha, veo que al poner el
cursor
sobre la variable me pone "Unknown", por lo que quizá no esté el formato
fecha.
Las fechas me aparecen de la siguiente forma: 2013-07-13 (año-mes-dÃa).
¿Cómo deberÃa darle el formato correcto para que me deje hacer el
comando
miju?
Muchas gracias y un saludo.
El Sab, 1 de Abril de 2017, 17:21, Carlos Ortega escribió:
Hola Miriam,
Esta es una forma de hacerlo:
#---------------
datIn <- read.table("Orden_variable.csv", sep=";", header = TRUE)
names(datIn) <- c('v1','v2','v3','v4','v5')
library(data.table)
library(lubridate)
dt <- as.data.table(datIn)
dt[ , miju := julian.Date(dmy(v4))]
# Doy un primer orden sin tener en cuenta las fechas iguales
setorder(dt, v2, -v3, miju)
dt[, mior := seq_len(.N), by=v2]
# Para las fechas iguales
df <- as.data.frame(dt)
for(i in 1:(nrow(df)-1)) {
if(df$miju[i] == df$miju[i+1]) {
df$mior[i+1] <- df$mior[i]
} else next
}
#---------------
Saludos,
Carlos.
El 30 de marzo de 2017, 18:37, <miriam.alzate en unavarra.es> escribió:
Hola Carlos,
SerÃa porque es la 4ª review en esa fecha (hay 3 observaciones
anteriores).
En el caso del "P402", las dos observaciones del mismo dÃa con el
número de votos(ordenado de mayor a menor), reciben el orden 1, pero
siguiente más nueva recibe el 3 porque hay dos observaciones
En realidad yo no tengo la variable Numero.Review en la base de datos
sino
Review.Content.
Envio el archivo excel con el ejemplo. He llamado "Orden.deseado" a
variable que quiero construir de forma automática. La tabla que
estarÃa ya ordenada 1 por Id.Producto, 2º por Numero.Votos y 3º por
Fecha.Publicación.
Muchas gracias y un saludo
Miriam
El Jue, 23 de Marzo de 2017, 23:36, Carlos Ortega escribió:
Hola Miriam,
¿Por qué la última de "P401" tiene Orden = 4?..¿Por que su úiltimo
"Numero.Review" es 4?.
Si esa es la lógica, que es la que has descrito, porqué en la P402
última es de "Orden" = 3 y no = 7? Que es su último
Tampoco pienses que con un "comando" se hace esto... sà con una
varias instrucciones seguidas. Si hay suerte se podrá arreglar con
función sencilla...
Es una extensión de lo último que te envié. En ese otro caso, se
por una sola columna, ahora hay que ordenar por varias columnas,
fácil y luego para encontrar el número de orden harÃa la misma
la otra vez... Bueno, confirma lo que preguntas y veremos si esas
funcionan. También si los datos los adjuntas en un fichero .txt o
mejor.
Gracias,
Carlos.
El 23 de marzo de 2017, 3:23, <miriam.alzate en unavarra.es>
Quiero crear una nueva variable "Orden" que me ordene el
"Numbero.Review",
1º por "Id.Producto", 2º por "Número.Votos" de más a menos y 3º
Fecha.publicación.Review" de la más nueva a la más antigua. Como
observaciones con el mismo número de votos y en la misma fecha,
que
tengan el mismo número de orden. Pero la siguiente observación de
siguiente fecha tiene que tener un orden=1+numero de reviews de
previos.
En mi base de datos tengo 66.000 observaciones(reviews) que
137 productos diferentes. Cada dÃa tengo diferentes observaciones
mismos productos, por lo que el producto aparece tantas veces como
reviews
haya prublicadas. Los datos son como el ejemplo que he mandado
anteriormente. La variable que quiero crear es a la que llamo
el
resto las tengo. Esta variable orden va en cada producto del 1 al
de reviews que haya ( por ejemplo en el P401 4). Para el P402,
empezar del 1 al número de reviews de ese producto.
Lo que necesito es sacar esta variable "Orden de forma
sé
que comando utilizar.
Numero.Review Id.Producto Número.Votos
Fecha.publicación.Review
Orden
1 P401 42 2017-02-25
1
2 P401 5 2017-01-06
2
3 P401 5 2017-01-06
2
4 P401 0 2016-12-30
4
5 P402 3 2017-03-15
1
6 P402 3 2017-03-15
1
7 P402 0 2016-12-31
3
8 P403 12 2016-11-15
1
9 P403 12 2016-11-10
2
10 P403 15 2016-10-25
3
11 P403 15 2016-10-25
3
12 P403 2 2016-09-30
5
--
Saludos,
Carlos Ortega
www.qualityexcellence.es
--
Saludos,
Carlos Ortega
www.qualityexcellence.es
--
Saludos,
Carlos Ortega
www.qualityexcellence.es