Hola Daniel, si perdona di a responder directamente y no me di cuenta.
Ya se donde esta el error, pero queria preguntar si a puede ser que mi R
funcione mal o algo porque esta manhana ejecute mi script y funciono
perfectamente y ahora volvi a ejecutarlo y me volvio a dar el mismo
problema de ayer , despues de reiniciar y demas el tinnR y el R, no se si
me vacila o es que tengo algo mal en realidad.
Despues el error esta en los símbolos o algo com el tiempo
DBfishing<- na.omit(DBx[(DBx$calcSpeed<=speedFishing &
DBx$distHb>distHbRule & DBx$Time>minTime &
DBx$Time<=maxTime),])
Porque lo ejecute por separado y me funcione pero al poner el tiempo no me
funciona y me sale el warning message, mi pregunta es si com el tiempo hay
que utilizar otros símbolos de < o > diferentes o algo .
Pongo el script entero que utilice y funciono hasta donde me dio error:
setwd("C:/Users/Marta/Desktop/DB")
library(chron)
library(xlsx)
filename<-"univerest_50.csv"
DBxy<-read.csv(filename, sep=",",header=TRUE)
DBx<-DBxy
names(DBx)<-c("Boat","DateTime","TimeDiff",
"Latitude", "Longitude",
"Course", "Speed", "distNm",
"calcSpeed", "calcCourse", "distHb",
"Harbour", "idTrip","vmsAngle",
"calcAngle", "vmsLeg", "calcLeg",
"Trip_vmsLeg", "Trip_calcLeg", "lengthTrip",
"lengthTrip_vmsLeg",
"lengthTrip_calcLeg","Time", "Date")
#Formatting date and time variables
DBx$Date<-strptime(DBx$Date, "%d-%m-%Y") ###Monicap
use ;
other use Y
DBx$Year<-as.POSIXlt(DBx$Date)$year+1900
DBx$Boat<-gsub("^\\s+|\\s+$", "", DBx$Boat)
#Read file with boat codes and gears
codeBoats<- read.csv("CODES_2002-2010New.csv",
sep=",",header=TRUE) #Laptop
codeBoats$CODIGO<-gsub("^\\s+|\\s+$", "",
codeBoats$CODIGO)
#Assigning a Fishing license based on Boat and Year
DBx$gear<-codeBoats$Lic[match(paste(DBx$Boat,DBx$Year),
paste(codeBoats$CODIGO,codeBoats$Year))]
ddd<- DBx[DBx$calcSpeed %in% NA,]
z<-length(ddd$gear) #idem
z0<-length(DBx$gear)
######PoleLine analyses / MAY 2013 #######Changes are: harbour with speed
rule (<rest)
#Define GEAR HERE based on list above. Analysing BLL boats
DBx <- DBx[DBx$gear %in% c("PoleLine"),]
z1<-length(DBx$gear)
z1
#defining speed and distance limits
speedFishing<-2.0 #less or equal to, in knots (NEW MAY 2013
reduced from 5.3)
speedHarb<-1.0
distHbRule<-3.0 #greater than, in nautical miles nm
speedSteam<-2.0 #greater than, in knots
minTime<-times(c("05:59:59")) #usual beginning of
fishing
operations
maxTime<- times(c("20:59:59")) #usual finishing of
fishing
operations
#Selecting Harbour
DBharbour<- na.omit(DBx[DBx$distHb<=distHbRule &
DBx$calcSpeed<=speedHarb,])
DBharbour$State<-"Harbour" #MONICAP= 10618; UNIVER1= ;
UNIVER2= ;
UNIVEREST= 1028
z2<-length(DBharbour$State)
write.table(DBharbour, file
paste("C:/Users/Marta/Desktop/Results/",filename, sep=""),
append = F,
quote = F, sep = ",", dec = ".", row.names = F, col.names =
T)
#Selecting Steaming
DBsteaming<- na.omit(DBx[(DBx$calcSpeed>speedFishing) |
(DBx$distHb<=distHbRule & DBx$calcSpeed>speedHarb) |
(DBx$calcSpeed<=speedFishing & DBx$distHb>distHbRule),])
DBsteaming$State<- "Steaming" #MONICAP= 88398; UNIVER1= ;
UNIVER2; UNIVEREST= 53748
DBsteaming$Harbour<-""
z4<-length(DBsteaming$State)
##NEW MAY 2013##BLL", "BLL / HL##MONICAP=45461, GEAR(NA)=;
UNIVER1=116200 ; UNIVER2=200965; UNIVEREST=0
write.table(DBsteaming, file
paste("C:/Users/Marta/Desktop/Results/",filename, sep=""),
append = T,
quote = F, sep = ",", dec = ".",
row.names = F, col.names = F)
#Selecting Fishing #aqui el error
DBfishing<- na.omit(DBx[(DBx$calcSpeed<=speedFishing &
DBx$distHb>distHbRule & DBx$Time>minTime &
DBx$Time<=maxTime),])
DBfishing$State<-"Fishing" #MONICAP= 43996; UNIVER1= ;
UNIVER2= ;
UNIVEREST= 19960
##NEW MAY 2013##BLL", "BLL / HL##MONICAP=8506, GEAR(NA)=;
UNIVER1=28417 ; UNIVER2=38266; UNIVEREST=0
DBfishing$Harbour<-""
z5<-length(DBfishing$State)
write.table(DBfishing, file
paste("C:/Users/Marta/Desktop/Results/",filename, sep=""),
append = T,
quote = F, sep = ",", dec = ".",
row.names = F, col.names = F)
Muchas gracias, un saludo
El 3 de junio de 2014, 16:45, daniel <daniel319@gmail.com> escribió:
> Marta,
>
> Primero, responde a la lista, otros pueden ayudarte mejor que yo, y a
> algunos les puede resultar de interés este intercambio.
>
> Segundo. evidentemente los datos tienen una estructura especial, por lo
> que puedo ver los datos estan en una lista que contiene otras listas y
> data.frame. Alguno de los errores que recibes es por intentar operaciones
> sobre datos de distintas clases, y factores. Te sugiero que para entender
> mejor que es lo que lograste importar a R apliques str a las listas o
> data.frame que tienes, por ejemplo str(DBx).
>
> Tercero, reproducible significa que no estoy sentado enfrente de tu
> ordenador sino del mio y para poder ayudarte necesito poder hacer lo que tu
> intentas. Al copiar lo que te parece interesante has dejado afuera parte de
> la estructura que resulta necesaria para poder leer los datos, tu ejemplo
> me da error cuando lo que espero son datos en una estructura sea de
> data.frame, matriz o lista. Probablemente tu problema es como lograr de esa
> estructura leer los datos que te interesa y luego convertir los de tiempo a
> un formato acorde. Si no puedes mandar los datos inventa algunos
> manteniendo la estructura que tienes. La recomendación de dput(head(DBx))
> no será de mucha ayuda si lo que tienes es una lista. Me parece recordar
> que en tu mensaje anterior leías los datos con read.csv(DBx.csv), lo cual
> me llevó a pensar que tenías un data.frame, pero parece que lo que tienes
> es otra cosa. ¿Cómo te aseguras que sea reproducible? sencillo antes de
> enviarlo inicia una sesión de R y copia lo que vas a enviar para ver si
> funciona bien.
>
> De nuevo, di que quieres hacer con tus datos (ejemplo: ordenarlos por
> fecha, lugar y xxx), que estructura tienen (?str) y a partir de allí espero
> podamos ayudarte.
>
> Daniel Merino
>
>
>
>
> El 3 de junio de 2014, 12:00, Marta valdes lopez
<martavaldes85@gmail.com>
> escribió:
>
> Hola Daniel,
>>
>> Voy a intentar explicarme porque como soy principiante en R hay cosas
que
>> ni se muy bien de donde salen.
>>
>> Aqui esta una parte de lo que me há salido cuando he puesto el
>> dput(head(DBx)) (he copiado solo lo que pensaba que podria interessar
para
>> explicar lo que quiero)
>>
>>
>> Time = structure(c(1219L,
>> 1279L, 1400L, 141L, 201L, 261L), .Label = c("0:00:00 ",
"0:01:00 ",
>> "0:02:00 ", "0:03:00 ", "0:04:00 ",
"0:05:00 ", "0:06:00 ",
>> "0:07:00 ", "0:08:00 ", "0:09:00 ",
"0:10:00 ", "0:11:00 ",
>> "0:12:00 ", "0:13:00 ", "0:14:00 ",
"0:15:00 ", "0:16:00 ",
>> "0:17:00 ", "0:18:00 ", "0:19:00 ",
"0:20:00 ", "0:21:00 ",
>> "0:22:00 ", "0:23:00 ", "0:24:00 ",
"0:25:00 ", "0:26:00 ",
>> class = "factor"), Date = structure(list(
>> sec = c(0, 0, 0, 0, 0, 0), min = c(0L, 0L, 0L, 0L, 0L,
>> 0L), hour = c(0L, 0L, 0L, 0L, 0L, 0L), mday = c(11L,
>> 11L, 11L, 11L, 11L, 11L), mon = c(4L, 4L, 4L, 4L, 4L,
>> 4L), year = c(109L, 109L, 109L, 109L, 109L, 109L), wday = c(1L,
>> 1L, 1L, 1L, 1L, 1L), yday = c(130L, 130L, 130L, 130L,
>> 130L, 130L), isdst = c(1L, 1L, 1L, 1L, 1L, 1L), zone =
c("AZOST",
>> "AZOST", "AZOST", "AZOST",
"AZOST", "AZOST"), gmtoff >> c(NA_integer_,
>> NA_integer_, NA_integer_, NA_integer_, NA_integer_, NA_integer_
>> )), .Names = c("sec", "min",
"hour", "mday", "mon", "year",
>> "wday", "yday", "isdst",
"zone", "gmtoff"), class = c("POSIXlt",
>> "POSIXt")), Year = c(2009, 2009, 2009, 2009, 2009, 2009),
>> gear = structure(c(8L, 8L, 8L, 8L, 8L, 8L), .Label =
c("BLL",
>> "BLL / HL", "BLL / PLL", "NotLic",
"OUT", "PLL", "PLL / PoleLine",
>> "PoleLine", "PoleLine / PLL / BLL / Traps",
"Troll"), class >> "factor")), .Names =
c("Boat",
>> "DateTime", "TimeDiff", "Latitude",
"Longitude", "Course", "Speed",
>> "distNm", "calcSpeed", "calcCourse",
"distHb", "Harbour", "idTrip",
>> "vmsAngle", "calcAngle", "vmsLeg",
"calcLeg", "Trip_vmsLeg",
>> "Trip_calcLeg", "lengthTrip",
"lengthTrip_vmsLeg", "lengthTrip_calcLeg",
>> "Time", "Date", "Year",
"gear"), row.names = 923:928, class >> "data.frame")
>>
>> Despues el script que he utilizado para el tiempo y la hora:
>>
>> DBx$Date<-strptime(DBx$Date, "%d-%m-%Y")
###Monicap use ;
>> other use Y
>> DBx$Year<-as.POSIXlt(DBx$Date)$year+1900
>> DBx$Boat<-gsub("^\\s+|\\s+$", "", DBx$Boat)
>>
>> Despues he definido mis reglas para definir los diferentes estados de
los
>> barcos:
>>
>> speedFishing<-2.0
>> speedHarb<-1.0
>> distHbRule<-3.0
>> speedSteam<-2.0
>>
>> minTime<-times(c("05:59:59")) #usual
beginning of fishing
>> operations
>> maxTime<- times(c("20:59:59")) #usual
finishing of fishing
>> operations
>>
>> Ypor ultimo cuando quiero definir el estado de fishing haciendo una
>> condicional de que ponga fishing cuando una serie de reglas se cumplan,
es
>> cuando me da el error:
>>
>> #Selecting Fishing
>> DBfishing<- na.omit(DBx[(DBx$calcSpeed<=speedFishing
&
>> DBx$distHb>distHbRule & DBx$Time>minTime &
DBx$Time<=maxTime),])
>>
>> Y el error:
>> Warning messages:
>> 1: In `[.data.frame`(DBx, (DBx$calcSpeed <= speedFishing &
DBx$distHb > :
>> Incompatible methods ("Ops.factor", "Ops.times")
for ">"
>> 2: In `[.data.frame`(DBx, (DBx$calcSpeed <= speedFishing &
DBx$distHb > :
>> Incompatible methods ("Ops.factor", "Ops.times")
for "<="
>>
>> Espero haberme explicado mejor.. muchas gracias por tu tiempo!
>>
>> Un saludo
>>
>>
>>
>>
>>
>> El 3 de junio de 2014, 12:48, daniel <daniel319@gmail.com>
escribió:
>>
>> Marta,
>>>
>>> No entiendo lo que necesitas, pero aquí algunas cosas que pueden
>>> orientar las consultas, o solucionar el problema:
>>>
>>> fecha_sys <- Sys.time()
>>> str(fecha_sys)
>>> strptime(fecha_sys, format="%Y-%m-%d %H:%M:%S")
>>> str(strptime(fecha_sys, format="%Y-%m-%d %H:%M:%S") )
>>> fecha <- format(Sys.time(), "%d-%m-%Y")
>>> str(fecha)
>>> as.POSIXlt(fecha, format = "%d-%m-%Y")
>>> # Si tienes como fecha 03-06-2003 19. Aunque sería mas simple si es
>>> 03-06-2003 19:00:00
>>> tu_fecha <- "03-06-2003 19"
>>> # quizás te interese explorar el paquete lubridate
>>> library(lubridate)
>>> hours(1:24)
>>>
>>> Si lo anterior te sirve bien. Si no te sirve puedes hacer un
ejemplo
>>> reproducible tratando de explicar que es lo que quieres,
proporcionando un
>>> grupo de datos por ejemplo dput(head(DBx)), y con la parte de tu
script que
>>> te da problemas.
>>>
>>> Suerte,
>>>
>>> Daniel Merino
>>>
>>>
>>>
>>> 2014-06-03 8:41 GMT-03:00 Marta valdes lopez
<martavaldes85@gmail.com>:
>>>
>>>> Hola!!
>>>>
>>>> Estoy intentando ejecutar un script com horas, al principio
ejecute
>>>> estos
>>>> comandos
>>>>
>>>>
>>>> DBx$Date<-strptime(DBx$Date, "%d-%m-%Y")
###Monicap use ;
>>>> other
>>>> use Y
>>>>
>>>> DBx$Year<-as.POSIXlt(DBx$Date)$year+1900
>>>>
>>>> if(filename!="monicap_50.csv")
{DBx$Time<-paste(DBx$Time, ":00",
>>>> sep="")}
>>>>
>>>> Pero me daba el error de que mi base de datos tenia las horas
en formato
>>>> 00:00:00, entonces me anhadia dos ceros mas, entonces no
ejecute el
>>>> ultimo
>>>> comando y ahora al ejecutar este comando desp+ues del anterior:
>>>>
>>>> DBfishing<- na.omit(DBx[(DBx$calcSpeed<=speedFishing
&
>>>> DBx$distHb>distHbRule & DBx$Time>minTime &
DBx$Time<=maxTime),])
>>>>
>>>> Me da este error:Warning messages:
>>>> 1: In `[.data.frame`(DBx, (DBx$calcSpeed <= speedFishing
& DBx$distHb >
>>>> :
>>>> Incompatible methods ("Ops.factor",
"Ops.times") for ">"
>>>> 2: In `[.data.frame`(DBx, (DBx$calcSpeed <= speedFishing
& DBx$distHb >
>>>> :
>>>> Incompatible methods ("Ops.factor",
"Ops.times") for "<="
>>>>
>>>> Las variables donde estan minTime y MaxTime son estos comandos:
>>>>
>>>> minTime<-times(c("05:59:59")) #usual
beginning of fishing
>>>> operations
>>>> > maxTime<- times(c("20:59:59")) #usual
finishing of fishing
>>>> operations
>>>>
>>>> Alguien sabes que es lo que estoy haciendo mal? si necessitais
todo el
>>>> script lo pongo sin problema.
>>>>
>>>> Muchas gracias, un saludo
>>>>
>>>> [[alternative HTML version deleted]]
>>>>
>>>> _______________________________________________
>>>> R-help-es mailing list
>>>> R-help-es@r-project.org
>>>> https://stat.ethz.ch/mailman/listinfo/r-help-es
>>>>
>>>
>>>
>>>
>>> --
>>> Daniel
>>>
>>
>>
>
>
> --
> Daniel
>
[[alternative HTML version deleted]]
Hola Marta, A lo mejor en tu sesion anterior tenias un objeto que ahora ya no esta. Mi sugerencia es intentar ejecutar el script en una sesion nueva, y luego sobre esa sesion a ver que pasa. Por cierto, para crear subconjuntos de datos (como en tu caso) sugeriria utilizar la funcion subset(). Saludos, Jorge.- 2014-06-04 22:51 GMT+10:00 Marta valdes lopez <martavaldes85@gmail.com>:> Hola Daniel, si perdona di a responder directamente y no me di cuenta. > > Ya se donde esta el error, pero queria preguntar si a puede ser que mi R > funcione mal o algo porque esta manhana ejecute mi script y funciono > perfectamente y ahora volvi a ejecutarlo y me volvio a dar el mismo > problema de ayer , despues de reiniciar y demas el tinnR y el R, no se si > me vacila o es que tengo algo mal en realidad. > > Despues el error esta en los símbolos o algo com el tiempo > > DBfishing<- na.omit(DBx[(DBx$calcSpeed<=speedFishing & > DBx$distHb>distHbRule & DBx$Time>minTime & DBx$Time<=maxTime),]) > > Porque lo ejecute por separado y me funcione pero al poner el tiempo no me > funciona y me sale el warning message, mi pregunta es si com el tiempo hay > que utilizar otros símbolos de < o > diferentes o algo . > > Pongo el script entero que utilice y funciono hasta donde me dio error: > > setwd("C:/Users/Marta/Desktop/DB") > library(chron) > library(xlsx) > filename<-"univerest_50.csv" > DBxy<-read.csv(filename, sep=",",header=TRUE) > DBx<-DBxy > names(DBx)<-c("Boat","DateTime","TimeDiff", "Latitude", "Longitude", > "Course", "Speed", "distNm", "calcSpeed", "calcCourse", "distHb", > "Harbour", "idTrip","vmsAngle", "calcAngle", "vmsLeg", "calcLeg", > "Trip_vmsLeg", "Trip_calcLeg", "lengthTrip", "lengthTrip_vmsLeg", > "lengthTrip_calcLeg","Time", "Date") > > #Formatting date and time variables > DBx$Date<-strptime(DBx$Date, "%d-%m-%Y") ###Monicap use ; > other use Y > DBx$Year<-as.POSIXlt(DBx$Date)$year+1900 > > DBx$Boat<-gsub("^\\s+|\\s+$", "", DBx$Boat) > #Read file with boat codes and gears > codeBoats<- read.csv("CODES_2002-2010New.csv", > sep=",",header=TRUE) #Laptop > codeBoats$CODIGO<-gsub("^\\s+|\\s+$", "", codeBoats$CODIGO) > #Assigning a Fishing license based on Boat and Year > DBx$gear<-codeBoats$Lic[match(paste(DBx$Boat,DBx$Year), > paste(codeBoats$CODIGO,codeBoats$Year))] > ddd<- DBx[DBx$calcSpeed %in% NA,] > z<-length(ddd$gear) #idem > z0<-length(DBx$gear) > > ######PoleLine analyses / MAY 2013 #######Changes are: harbour with speed > rule (<rest) > #Define GEAR HERE based on list above. Analysing BLL boats > DBx <- DBx[DBx$gear %in% c("PoleLine"),] > z1<-length(DBx$gear) > z1 > #defining speed and distance limits > speedFishing<-2.0 #less or equal to, in knots (NEW MAY 2013 > reduced from 5.3) > > speedHarb<-1.0 > distHbRule<-3.0 #greater than, in nautical miles nm > > speedSteam<-2.0 #greater than, in knots > minTime<-times(c("05:59:59")) #usual beginning of fishing > operations > maxTime<- times(c("20:59:59")) #usual finishing of fishing > operations > #Selecting Harbour > DBharbour<- na.omit(DBx[DBx$distHb<=distHbRule & > DBx$calcSpeed<=speedHarb,]) > DBharbour$State<-"Harbour" #MONICAP= 10618; UNIVER1= ; UNIVER2= ; > UNIVEREST= 1028 > z2<-length(DBharbour$State) > write.table(DBharbour, file > paste("C:/Users/Marta/Desktop/Results/",filename, sep=""), append = F, > quote = F, sep = ",", dec = ".", row.names = F, col.names = T) > > #Selecting Steaming > DBsteaming<- na.omit(DBx[(DBx$calcSpeed>speedFishing) | > (DBx$distHb<=distHbRule & DBx$calcSpeed>speedHarb) | > (DBx$calcSpeed<=speedFishing & DBx$distHb>distHbRule),]) > DBsteaming$State<- "Steaming" #MONICAP= 88398; UNIVER1= ; UNIVER2> ; UNIVEREST= 53748 > DBsteaming$Harbour<-"" > z4<-length(DBsteaming$State) > ##NEW MAY 2013##BLL", "BLL / HL##MONICAP=45461, GEAR(NA)=; > UNIVER1=116200 ; UNIVER2=200965; UNIVEREST=0 > write.table(DBsteaming, file > paste("C:/Users/Marta/Desktop/Results/",filename, sep=""), append = T, > quote = F, sep = ",", dec = ".", > row.names = F, col.names = F) > > #Selecting Fishing #aqui el error > DBfishing<- na.omit(DBx[(DBx$calcSpeed<=speedFishing & > DBx$distHb>distHbRule & DBx$Time>minTime & DBx$Time<=maxTime),]) > DBfishing$State<-"Fishing" #MONICAP= 43996; UNIVER1= ; UNIVER2= ; > UNIVEREST= 19960 > ##NEW MAY 2013##BLL", "BLL / HL##MONICAP=8506, GEAR(NA)=; > UNIVER1=28417 ; UNIVER2=38266; UNIVEREST=0 > DBfishing$Harbour<-"" > z5<-length(DBfishing$State) > write.table(DBfishing, file > paste("C:/Users/Marta/Desktop/Results/",filename, sep=""), append = T, > quote = F, sep = ",", dec = ".", > row.names = F, col.names = F) > > Muchas gracias, un saludo > > > > > > El 3 de junio de 2014, 16:45, daniel <daniel319@gmail.com> escribió: > > > Marta, > > > > Primero, responde a la lista, otros pueden ayudarte mejor que yo, y a > > algunos les puede resultar de interés este intercambio. > > > > Segundo. evidentemente los datos tienen una estructura especial, por lo > > que puedo ver los datos estan en una lista que contiene otras listas y > > data.frame. Alguno de los errores que recibes es por intentar operaciones > > sobre datos de distintas clases, y factores. Te sugiero que para entender > > mejor que es lo que lograste importar a R apliques str a las listas o > > data.frame que tienes, por ejemplo str(DBx). > > > > Tercero, reproducible significa que no estoy sentado enfrente de tu > > ordenador sino del mio y para poder ayudarte necesito poder hacer lo que > tu > > intentas. Al copiar lo que te parece interesante has dejado afuera parte > de > > la estructura que resulta necesaria para poder leer los datos, tu ejemplo > > me da error cuando lo que espero son datos en una estructura sea de > > data.frame, matriz o lista. Probablemente tu problema es como lograr de > esa > > estructura leer los datos que te interesa y luego convertir los de > tiempo a > > un formato acorde. Si no puedes mandar los datos inventa algunos > > manteniendo la estructura que tienes. La recomendación de dput(head(DBx)) > > no será de mucha ayuda si lo que tienes es una lista. Me parece recordar > > que en tu mensaje anterior leías los datos con read.csv(DBx.csv), lo cual > > me llevó a pensar que tenías un data.frame, pero parece que lo que tienes > > es otra cosa. ¿Cómo te aseguras que sea reproducible? sencillo antes de > > enviarlo inicia una sesión de R y copia lo que vas a enviar para ver si > > funciona bien. > > > > De nuevo, di que quieres hacer con tus datos (ejemplo: ordenarlos por > > fecha, lugar y xxx), que estructura tienen (?str) y a partir de allí > espero > > podamos ayudarte. > > > > Daniel Merino > > > > > > > > > > El 3 de junio de 2014, 12:00, Marta valdes lopez < > martavaldes85@gmail.com> > > escribió: > > > > Hola Daniel, > >> > >> Voy a intentar explicarme porque como soy principiante en R hay cosas > que > >> ni se muy bien de donde salen. > >> > >> Aqui esta una parte de lo que me há salido cuando he puesto el > >> dput(head(DBx)) (he copiado solo lo que pensaba que podria interessar > para > >> explicar lo que quiero) > >> > >> > >> Time = structure(c(1219L, > >> 1279L, 1400L, 141L, 201L, 261L), .Label = c("0:00:00 ", "0:01:00 ", > >> "0:02:00 ", "0:03:00 ", "0:04:00 ", "0:05:00 ", "0:06:00 ", > >> "0:07:00 ", "0:08:00 ", "0:09:00 ", "0:10:00 ", "0:11:00 ", > >> "0:12:00 ", "0:13:00 ", "0:14:00 ", "0:15:00 ", "0:16:00 ", > >> "0:17:00 ", "0:18:00 ", "0:19:00 ", "0:20:00 ", "0:21:00 ", > >> "0:22:00 ", "0:23:00 ", "0:24:00 ", "0:25:00 ", "0:26:00 ", > >> class = "factor"), Date = structure(list( > >> sec = c(0, 0, 0, 0, 0, 0), min = c(0L, 0L, 0L, 0L, 0L, > >> 0L), hour = c(0L, 0L, 0L, 0L, 0L, 0L), mday = c(11L, > >> 11L, 11L, 11L, 11L, 11L), mon = c(4L, 4L, 4L, 4L, 4L, > >> 4L), year = c(109L, 109L, 109L, 109L, 109L, 109L), wday = c(1L, > >> 1L, 1L, 1L, 1L, 1L), yday = c(130L, 130L, 130L, 130L, > >> 130L, 130L), isdst = c(1L, 1L, 1L, 1L, 1L, 1L), zone > c("AZOST", > >> "AZOST", "AZOST", "AZOST", "AZOST", "AZOST"), gmtoff > >> c(NA_integer_, > >> NA_integer_, NA_integer_, NA_integer_, NA_integer_, NA_integer_ > >> )), .Names = c("sec", "min", "hour", "mday", "mon", "year", > >> "wday", "yday", "isdst", "zone", "gmtoff"), class = c("POSIXlt", > >> "POSIXt")), Year = c(2009, 2009, 2009, 2009, 2009, 2009), > >> gear = structure(c(8L, 8L, 8L, 8L, 8L, 8L), .Label = c("BLL", > >> "BLL / HL", "BLL / PLL", "NotLic", "OUT", "PLL", "PLL / PoleLine", > >> "PoleLine", "PoleLine / PLL / BLL / Traps", "Troll"), class > >> "factor")), .Names = c("Boat", > >> "DateTime", "TimeDiff", "Latitude", "Longitude", "Course", "Speed", > >> "distNm", "calcSpeed", "calcCourse", "distHb", "Harbour", "idTrip", > >> "vmsAngle", "calcAngle", "vmsLeg", "calcLeg", "Trip_vmsLeg", > >> "Trip_calcLeg", "lengthTrip", "lengthTrip_vmsLeg", "lengthTrip_calcLeg", > >> "Time", "Date", "Year", "gear"), row.names = 923:928, class > >> "data.frame") > >> > >> Despues el script que he utilizado para el tiempo y la hora: > >> > >> DBx$Date<-strptime(DBx$Date, "%d-%m-%Y") ###Monicap use ; > >> other use Y > >> DBx$Year<-as.POSIXlt(DBx$Date)$year+1900 > >> DBx$Boat<-gsub("^\\s+|\\s+$", "", DBx$Boat) > >> > >> Despues he definido mis reglas para definir los diferentes estados de > los > >> barcos: > >> > >> speedFishing<-2.0 > >> speedHarb<-1.0 > >> distHbRule<-3.0 > >> speedSteam<-2.0 > >> > >> minTime<-times(c("05:59:59")) #usual beginning of fishing > >> operations > >> maxTime<- times(c("20:59:59")) #usual finishing of fishing > >> operations > >> > >> Ypor ultimo cuando quiero definir el estado de fishing haciendo una > >> condicional de que ponga fishing cuando una serie de reglas se cumplan, > es > >> cuando me da el error: > >> > >> #Selecting Fishing > >> DBfishing<- na.omit(DBx[(DBx$calcSpeed<=speedFishing & > >> DBx$distHb>distHbRule & DBx$Time>minTime & DBx$Time<=maxTime),]) > >> > >> Y el error: > >> Warning messages: > >> 1: In `[.data.frame`(DBx, (DBx$calcSpeed <= speedFishing & DBx$distHb > > : > >> Incompatible methods ("Ops.factor", "Ops.times") for ">" > >> 2: In `[.data.frame`(DBx, (DBx$calcSpeed <= speedFishing & DBx$distHb > > : > >> Incompatible methods ("Ops.factor", "Ops.times") for "<=" > >> > >> Espero haberme explicado mejor.. muchas gracias por tu tiempo! > >> > >> Un saludo > >> > >> > >> > >> > >> > >> El 3 de junio de 2014, 12:48, daniel <daniel319@gmail.com> escribió: > >> > >> Marta, > >>> > >>> No entiendo lo que necesitas, pero aquí algunas cosas que pueden > >>> orientar las consultas, o solucionar el problema: > >>> > >>> fecha_sys <- Sys.time() > >>> str(fecha_sys) > >>> strptime(fecha_sys, format="%Y-%m-%d %H:%M:%S") > >>> str(strptime(fecha_sys, format="%Y-%m-%d %H:%M:%S") ) > >>> fecha <- format(Sys.time(), "%d-%m-%Y") > >>> str(fecha) > >>> as.POSIXlt(fecha, format = "%d-%m-%Y") > >>> # Si tienes como fecha 03-06-2003 19. Aunque sería mas simple si es > >>> 03-06-2003 19:00:00 > >>> tu_fecha <- "03-06-2003 19" > >>> # quizás te interese explorar el paquete lubridate > >>> library(lubridate) > >>> hours(1:24) > >>> > >>> Si lo anterior te sirve bien. Si no te sirve puedes hacer un ejemplo > >>> reproducible tratando de explicar que es lo que quieres, > proporcionando un > >>> grupo de datos por ejemplo dput(head(DBx)), y con la parte de tu > script que > >>> te da problemas. > >>> > >>> Suerte, > >>> > >>> Daniel Merino > >>> > >>> > >>> > >>> 2014-06-03 8:41 GMT-03:00 Marta valdes lopez <martavaldes85@gmail.com > >: > >>> > >>>> Hola!! > >>>> > >>>> Estoy intentando ejecutar un script com horas, al principio ejecute > >>>> estos > >>>> comandos > >>>> > >>>> > >>>> DBx$Date<-strptime(DBx$Date, "%d-%m-%Y") ###Monicap use ; > >>>> other > >>>> use Y > >>>> > >>>> DBx$Year<-as.POSIXlt(DBx$Date)$year+1900 > >>>> > >>>> if(filename!="monicap_50.csv") {DBx$Time<-paste(DBx$Time, ":00", > >>>> sep="")} > >>>> > >>>> Pero me daba el error de que mi base de datos tenia las horas en > formato > >>>> 00:00:00, entonces me anhadia dos ceros mas, entonces no ejecute el > >>>> ultimo > >>>> comando y ahora al ejecutar este comando desp+ues del anterior: > >>>> > >>>> DBfishing<- na.omit(DBx[(DBx$calcSpeed<=speedFishing & > >>>> DBx$distHb>distHbRule & DBx$Time>minTime & DBx$Time<=maxTime),]) > >>>> > >>>> Me da este error:Warning messages: > >>>> 1: In `[.data.frame`(DBx, (DBx$calcSpeed <= speedFishing & DBx$distHb > > > >>>> : > >>>> Incompatible methods ("Ops.factor", "Ops.times") for ">" > >>>> 2: In `[.data.frame`(DBx, (DBx$calcSpeed <= speedFishing & DBx$distHb > > > >>>> : > >>>> Incompatible methods ("Ops.factor", "Ops.times") for "<=" > >>>> > >>>> Las variables donde estan minTime y MaxTime son estos comandos: > >>>> > >>>> minTime<-times(c("05:59:59")) #usual beginning of fishing > >>>> operations > >>>> > maxTime<- times(c("20:59:59")) #usual finishing of fishing > >>>> operations > >>>> > >>>> Alguien sabes que es lo que estoy haciendo mal? si necessitais todo el > >>>> script lo pongo sin problema. > >>>> > >>>> Muchas gracias, un saludo > >>>> > >>>> [[alternative HTML version deleted]] > >>>> > >>>> _______________________________________________ > >>>> R-help-es mailing list > >>>> R-help-es@r-project.org > >>>> https://stat.ethz.ch/mailman/listinfo/r-help-es > >>>> > >>> > >>> > >>> > >>> -- > >>> Daniel > >>> > >> > >> > > > > > > -- > > Daniel > > > > [[alternative HTML version deleted]] > > > _______________________________________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > >[[alternative HTML version deleted]]
Marta, No te puedo asegurar que la respuesta que sigue sirva para resolver el problema, al fin y al cabo no enviaste un ejemplo reproducible para poder trabajarlo con mayor comodidad y seguridad. Al leer read.csv(filename, sep=",",header=TRUE) no le dijistes a read.csv que considere stringsAsFactors = FALSE por lo que consideró a Time no un character con la forma "20:02:12", sino un factor. En un e-mail anterior la estructura de Time lo indicaba como un factor. Usas la función time de la librería chron. Desconozco si funciona DBx$Time>minTime, por lo que dices no y es lógico que así sea ya que class(DBx$Time) me parece que es un factor y class(minTime) es de clase times. Quizás si funcione as.character(DBx$Time) > minTime, o mejor convierte la columan Time a times con chron. Espero te sirva, Daniel Merino El 4 de junio de 2014, 9:55, Jorge I Velez <jorgeivanvelez@gmail.com> escribió:> Hola Marta, > > A lo mejor en tu sesion anterior tenias un objeto que ahora ya no esta. > Mi sugerencia es intentar ejecutar el script en una sesion nueva, y luego > sobre esa sesion a ver que pasa. > > Por cierto, para crear subconjuntos de datos (como en tu caso) sugeriria > utilizar la funcion subset(). > > Saludos, > Jorge.- > > > > 2014-06-04 22:51 GMT+10:00 Marta valdes lopez <martavaldes85@gmail.com>: > > Hola Daniel, si perdona di a responder directamente y no me di cuenta. >> >> Ya se donde esta el error, pero queria preguntar si a puede ser que mi R >> funcione mal o algo porque esta manhana ejecute mi script y funciono >> perfectamente y ahora volvi a ejecutarlo y me volvio a dar el mismo >> problema de ayer , despues de reiniciar y demas el tinnR y el R, no se si >> me vacila o es que tengo algo mal en realidad. >> >> Despues el error esta en los símbolos o algo com el tiempo >> >> DBfishing<- na.omit(DBx[(DBx$calcSpeed<=speedFishing & >> DBx$distHb>distHbRule & DBx$Time>minTime & DBx$Time<=maxTime),]) >> >> Porque lo ejecute por separado y me funcione pero al poner el tiempo no me >> funciona y me sale el warning message, mi pregunta es si com el tiempo hay >> que utilizar otros símbolos de < o > diferentes o algo . >> >> Pongo el script entero que utilice y funciono hasta donde me dio error: >> >> setwd("C:/Users/Marta/Desktop/DB") >> library(chron) >> library(xlsx) >> filename<-"univerest_50.csv" >> DBxy<-read.csv(filename, sep=",",header=TRUE) >> DBx<-DBxy >> names(DBx)<-c("Boat","DateTime","TimeDiff", "Latitude", "Longitude", >> "Course", "Speed", "distNm", "calcSpeed", "calcCourse", "distHb", >> "Harbour", "idTrip","vmsAngle", "calcAngle", "vmsLeg", "calcLeg", >> "Trip_vmsLeg", "Trip_calcLeg", "lengthTrip", "lengthTrip_vmsLeg", >> "lengthTrip_calcLeg","Time", "Date") >> >> #Formatting date and time variables >> DBx$Date<-strptime(DBx$Date, "%d-%m-%Y") ###Monicap use ; >> other use Y >> DBx$Year<-as.POSIXlt(DBx$Date)$year+1900 >> >> DBx$Boat<-gsub("^\\s+|\\s+$", "", DBx$Boat) >> #Read file with boat codes and gears >> codeBoats<- read.csv("CODES_2002-2010New.csv", >> sep=",",header=TRUE) #Laptop >> codeBoats$CODIGO<-gsub("^\\s+|\\s+$", "", codeBoats$CODIGO) >> #Assigning a Fishing license based on Boat and Year >> DBx$gear<-codeBoats$Lic[match(paste(DBx$Boat,DBx$Year), >> paste(codeBoats$CODIGO,codeBoats$Year))] >> ddd<- DBx[DBx$calcSpeed %in% NA,] >> z<-length(ddd$gear) #idem >> z0<-length(DBx$gear) >> >> ######PoleLine analyses / MAY 2013 #######Changes are: harbour with >> speed >> rule (<rest) >> #Define GEAR HERE based on list above. Analysing BLL boats >> DBx <- DBx[DBx$gear %in% c("PoleLine"),] >> z1<-length(DBx$gear) >> z1 >> #defining speed and distance limits >> speedFishing<-2.0 #less or equal to, in knots (NEW MAY 2013 >> reduced from 5.3) >> >> speedHarb<-1.0 >> distHbRule<-3.0 #greater than, in nautical miles nm >> >> speedSteam<-2.0 #greater than, in knots >> minTime<-times(c("05:59:59")) #usual beginning of fishing >> operations >> maxTime<- times(c("20:59:59")) #usual finishing of fishing >> operations >> #Selecting Harbour >> DBharbour<- na.omit(DBx[DBx$distHb<=distHbRule & >> DBx$calcSpeed<=speedHarb,]) >> DBharbour$State<-"Harbour" #MONICAP= 10618; UNIVER1= ; UNIVER2>> ; >> UNIVEREST= 1028 >> z2<-length(DBharbour$State) >> write.table(DBharbour, file >> paste("C:/Users/Marta/Desktop/Results/",filename, sep=""), append = F, >> quote = F, sep = ",", dec = ".", row.names = F, col.names = T) >> >> #Selecting Steaming >> DBsteaming<- na.omit(DBx[(DBx$calcSpeed>speedFishing) | >> (DBx$distHb<=distHbRule & DBx$calcSpeed>speedHarb) | >> (DBx$calcSpeed<=speedFishing & DBx$distHb>distHbRule),]) >> DBsteaming$State<- "Steaming" #MONICAP= 88398; UNIVER1= ; UNIVER2>> ; UNIVEREST= 53748 >> DBsteaming$Harbour<-"" >> z4<-length(DBsteaming$State) >> ##NEW MAY 2013##BLL", "BLL / HL##MONICAP=45461, GEAR(NA)=; >> UNIVER1=116200 ; UNIVER2=200965; UNIVEREST=0 >> write.table(DBsteaming, file >> paste("C:/Users/Marta/Desktop/Results/",filename, sep=""), append = T, >> quote = F, sep = ",", dec = ".", >> row.names = F, col.names = F) >> >> #Selecting Fishing #aqui el error >> DBfishing<- na.omit(DBx[(DBx$calcSpeed<=speedFishing & >> DBx$distHb>distHbRule & DBx$Time>minTime & DBx$Time<=maxTime),]) >> DBfishing$State<-"Fishing" #MONICAP= 43996; UNIVER1= ; UNIVER2= ; >> UNIVEREST= 19960 >> ##NEW MAY 2013##BLL", "BLL / HL##MONICAP=8506, GEAR(NA)=; >> UNIVER1=28417 ; UNIVER2=38266; UNIVEREST=0 >> DBfishing$Harbour<-"" >> z5<-length(DBfishing$State) >> write.table(DBfishing, file >> paste("C:/Users/Marta/Desktop/Results/",filename, sep=""), append = T, >> quote = F, sep = ",", dec = ".", >> row.names = F, col.names = F) >> >> Muchas gracias, un saludo >> >> >> >> >> >> El 3 de junio de 2014, 16:45, daniel <daniel319@gmail.com> escribió: >> >> > Marta, >> > >> > Primero, responde a la lista, otros pueden ayudarte mejor que yo, y a >> > algunos les puede resultar de interés este intercambio. >> > >> > Segundo. evidentemente los datos tienen una estructura especial, por lo >> > que puedo ver los datos estan en una lista que contiene otras listas y >> > data.frame. Alguno de los errores que recibes es por intentar >> operaciones >> > sobre datos de distintas clases, y factores. Te sugiero que para >> entender >> > mejor que es lo que lograste importar a R apliques str a las listas o >> > data.frame que tienes, por ejemplo str(DBx). >> > >> > Tercero, reproducible significa que no estoy sentado enfrente de tu >> > ordenador sino del mio y para poder ayudarte necesito poder hacer lo >> que tu >> > intentas. Al copiar lo que te parece interesante has dejado afuera >> parte de >> > la estructura que resulta necesaria para poder leer los datos, tu >> ejemplo >> > me da error cuando lo que espero son datos en una estructura sea de >> > data.frame, matriz o lista. Probablemente tu problema es como lograr de >> esa >> > estructura leer los datos que te interesa y luego convertir los de >> tiempo a >> > un formato acorde. Si no puedes mandar los datos inventa algunos >> > manteniendo la estructura que tienes. La recomendación de >> dput(head(DBx)) >> > no será de mucha ayuda si lo que tienes es una lista. Me parece recordar >> > que en tu mensaje anterior leías los datos con read.csv(DBx.csv), lo >> cual >> > me llevó a pensar que tenías un data.frame, pero parece que lo que >> tienes >> > es otra cosa. ¿Cómo te aseguras que sea reproducible? sencillo antes de >> > enviarlo inicia una sesión de R y copia lo que vas a enviar para ver si >> > funciona bien. >> > >> > De nuevo, di que quieres hacer con tus datos (ejemplo: ordenarlos por >> > fecha, lugar y xxx), que estructura tienen (?str) y a partir de allí >> espero >> > podamos ayudarte. >> > >> > Daniel Merino >> > >> > >> > >> > >> > El 3 de junio de 2014, 12:00, Marta valdes lopez < >> martavaldes85@gmail.com> >> > escribió: >> > >> > Hola Daniel, >> >> >> >> Voy a intentar explicarme porque como soy principiante en R hay cosas >> que >> >> ni se muy bien de donde salen. >> >> >> >> Aqui esta una parte de lo que me há salido cuando he puesto el >> >> dput(head(DBx)) (he copiado solo lo que pensaba que podria interessar >> para >> >> explicar lo que quiero) >> >> >> >> >> >> Time = structure(c(1219L, >> >> 1279L, 1400L, 141L, 201L, 261L), .Label = c("0:00:00 ", "0:01:00 ", >> >> "0:02:00 ", "0:03:00 ", "0:04:00 ", "0:05:00 ", "0:06:00 ", >> >> "0:07:00 ", "0:08:00 ", "0:09:00 ", "0:10:00 ", "0:11:00 ", >> >> "0:12:00 ", "0:13:00 ", "0:14:00 ", "0:15:00 ", "0:16:00 ", >> >> "0:17:00 ", "0:18:00 ", "0:19:00 ", "0:20:00 ", "0:21:00 ", >> >> "0:22:00 ", "0:23:00 ", "0:24:00 ", "0:25:00 ", "0:26:00 ", >> >> class = "factor"), Date = structure(list( >> >> sec = c(0, 0, 0, 0, 0, 0), min = c(0L, 0L, 0L, 0L, 0L, >> >> 0L), hour = c(0L, 0L, 0L, 0L, 0L, 0L), mday = c(11L, >> >> 11L, 11L, 11L, 11L, 11L), mon = c(4L, 4L, 4L, 4L, 4L, >> >> 4L), year = c(109L, 109L, 109L, 109L, 109L, 109L), wday = c(1L, >> >> 1L, 1L, 1L, 1L, 1L), yday = c(130L, 130L, 130L, 130L, >> >> 130L, 130L), isdst = c(1L, 1L, 1L, 1L, 1L, 1L), zone >> c("AZOST", >> >> "AZOST", "AZOST", "AZOST", "AZOST", "AZOST"), gmtoff >> >> c(NA_integer_, >> >> NA_integer_, NA_integer_, NA_integer_, NA_integer_, NA_integer_ >> >> )), .Names = c("sec", "min", "hour", "mday", "mon", "year", >> >> "wday", "yday", "isdst", "zone", "gmtoff"), class = c("POSIXlt", >> >> "POSIXt")), Year = c(2009, 2009, 2009, 2009, 2009, 2009), >> >> gear = structure(c(8L, 8L, 8L, 8L, 8L, 8L), .Label = c("BLL", >> >> "BLL / HL", "BLL / PLL", "NotLic", "OUT", "PLL", "PLL / PoleLine", >> >> "PoleLine", "PoleLine / PLL / BLL / Traps", "Troll"), class >> >> "factor")), .Names = c("Boat", >> >> "DateTime", "TimeDiff", "Latitude", "Longitude", "Course", "Speed", >> >> "distNm", "calcSpeed", "calcCourse", "distHb", "Harbour", "idTrip", >> >> "vmsAngle", "calcAngle", "vmsLeg", "calcLeg", "Trip_vmsLeg", >> >> "Trip_calcLeg", "lengthTrip", "lengthTrip_vmsLeg", >> "lengthTrip_calcLeg", >> >> "Time", "Date", "Year", "gear"), row.names = 923:928, class >> >> "data.frame") >> >> >> >> Despues el script que he utilizado para el tiempo y la hora: >> >> >> >> DBx$Date<-strptime(DBx$Date, "%d-%m-%Y") ###Monicap use ; >> >> other use Y >> >> DBx$Year<-as.POSIXlt(DBx$Date)$year+1900 >> >> DBx$Boat<-gsub("^\\s+|\\s+$", "", DBx$Boat) >> >> >> >> Despues he definido mis reglas para definir los diferentes estados de >> los >> >> barcos: >> >> >> >> speedFishing<-2.0 >> >> speedHarb<-1.0 >> >> distHbRule<-3.0 >> >> speedSteam<-2.0 >> >> >> >> minTime<-times(c("05:59:59")) #usual beginning of fishing >> >> operations >> >> maxTime<- times(c("20:59:59")) #usual finishing of fishing >> >> operations >> >> >> >> Ypor ultimo cuando quiero definir el estado de fishing haciendo una >> >> condicional de que ponga fishing cuando una serie de reglas se >> cumplan, es >> >> cuando me da el error: >> >> >> >> #Selecting Fishing >> >> DBfishing<- na.omit(DBx[(DBx$calcSpeed<=speedFishing & >> >> DBx$distHb>distHbRule & DBx$Time>minTime & DBx$Time<=maxTime),]) >> >> >> >> Y el error: >> >> Warning messages: >> >> 1: In `[.data.frame`(DBx, (DBx$calcSpeed <= speedFishing & DBx$distHb >> > : >> >> Incompatible methods ("Ops.factor", "Ops.times") for ">" >> >> 2: In `[.data.frame`(DBx, (DBx$calcSpeed <= speedFishing & DBx$distHb >> > : >> >> Incompatible methods ("Ops.factor", "Ops.times") for "<=" >> >> >> >> Espero haberme explicado mejor.. muchas gracias por tu tiempo! >> >> >> >> Un saludo >> >> >> >> >> >> >> >> >> >> >> >> El 3 de junio de 2014, 12:48, daniel <daniel319@gmail.com> escribió: >> >> >> >> Marta, >> >>> >> >>> No entiendo lo que necesitas, pero aquí algunas cosas que pueden >> >>> orientar las consultas, o solucionar el problema: >> >>> >> >>> fecha_sys <- Sys.time() >> >>> str(fecha_sys) >> >>> strptime(fecha_sys, format="%Y-%m-%d %H:%M:%S") >> >>> str(strptime(fecha_sys, format="%Y-%m-%d %H:%M:%S") ) >> >>> fecha <- format(Sys.time(), "%d-%m-%Y") >> >>> str(fecha) >> >>> as.POSIXlt(fecha, format = "%d-%m-%Y") >> >>> # Si tienes como fecha 03-06-2003 19. Aunque sería mas simple si es >> >>> 03-06-2003 19:00:00 >> >>> tu_fecha <- "03-06-2003 19" >> >>> # quizás te interese explorar el paquete lubridate >> >>> library(lubridate) >> >>> hours(1:24) >> >>> >> >>> Si lo anterior te sirve bien. Si no te sirve puedes hacer un ejemplo >> >>> reproducible tratando de explicar que es lo que quieres, >> proporcionando un >> >>> grupo de datos por ejemplo dput(head(DBx)), y con la parte de tu >> script que >> >>> te da problemas. >> >>> >> >>> Suerte, >> >>> >> >>> Daniel Merino >> >>> >> >>> >> >>> >> >>> 2014-06-03 8:41 GMT-03:00 Marta valdes lopez <martavaldes85@gmail.com >> >: >> >>> >> >>>> Hola!! >> >>>> >> >>>> Estoy intentando ejecutar un script com horas, al principio ejecute >> >>>> estos >> >>>> comandos >> >>>> >> >>>> >> >>>> DBx$Date<-strptime(DBx$Date, "%d-%m-%Y") ###Monicap use ; >> >>>> other >> >>>> use Y >> >>>> >> >>>> DBx$Year<-as.POSIXlt(DBx$Date)$year+1900 >> >>>> >> >>>> if(filename!="monicap_50.csv") {DBx$Time<-paste(DBx$Time, ":00", >> >>>> sep="")} >> >>>> >> >>>> Pero me daba el error de que mi base de datos tenia las horas en >> formato >> >>>> 00:00:00, entonces me anhadia dos ceros mas, entonces no ejecute el >> >>>> ultimo >> >>>> comando y ahora al ejecutar este comando desp+ues del anterior: >> >>>> >> >>>> DBfishing<- na.omit(DBx[(DBx$calcSpeed<=speedFishing & >> >>>> DBx$distHb>distHbRule & DBx$Time>minTime & DBx$Time<=maxTime),]) >> >>>> >> >>>> Me da este error:Warning messages: >> >>>> 1: In `[.data.frame`(DBx, (DBx$calcSpeed <= speedFishing & >> DBx$distHb > >> >>>> : >> >>>> Incompatible methods ("Ops.factor", "Ops.times") for ">" >> >>>> 2: In `[.data.frame`(DBx, (DBx$calcSpeed <= speedFishing & >> DBx$distHb > >> >>>> : >> >>>> Incompatible methods ("Ops.factor", "Ops.times") for "<=" >> >>>> >> >>>> Las variables donde estan minTime y MaxTime son estos comandos: >> >>>> >> >>>> minTime<-times(c("05:59:59")) #usual beginning of fishing >> >>>> operations >> >>>> > maxTime<- times(c("20:59:59")) #usual finishing of fishing >> >>>> operations >> >>>> >> >>>> Alguien sabes que es lo que estoy haciendo mal? si necessitais todo >> el >> >>>> script lo pongo sin problema. >> >>>> >> >>>> Muchas gracias, un saludo >> >>>> >> >>>> [[alternative HTML version deleted]] >> >>>> >> >>>> _______________________________________________ >> >>>> R-help-es mailing list >> >>>> R-help-es@r-project.org >> >>>> https://stat.ethz.ch/mailman/listinfo/r-help-es >> >>>> >> >>> >> >>> >> >>> >> >>> -- >> >>> Daniel >> >>> >> >> >> >> >> > >> > >> > -- >> > Daniel >> > >> >> [[alternative HTML version deleted]] >> >> >> _______________________________________________ >> R-help-es mailing list >> R-help-es@r-project.org >> https://stat.ethz.ch/mailman/listinfo/r-help-es >> >> >-- Daniel [[alternative HTML version deleted]]