Eliminar texto de una cadena
Estoy tratando de eliminar el texto “12:00:00 AM” de la cadena, por ejemplo: “4/12/2016 12:00:00 AM” de la columna “ActivityDate”.
Estoy usando esta tubería:
Sleep <- sleepDay_merged %>%
rename('ActivityDate' = 'SleepDay') %>%
gsub("12:00:00 AM","", 'ActivityDate')
Y obtengo este error:
Además:
Mensaje de advertencia:
En sub(., “12:00:00 AM”, “”, “ActivityDate”) :
el argumento ‘pattern’ tiene una longitud > 1 y solo el primer elemento será utilizado
¿Podrías ayudarme por favor?
Saludos
davy.ai
Parece que la función
gsub()
no está funcionando como se espera y muestra un mensaje de advertencia. Este mensaje de advertencia indica que el argumentopattern
en la funcióngsub()
tiene más de un elemento, pero solo se está utilizando el primer elemento. Esto podría deberse al hecho de que la funcióngsub()
espera una expresión regular como argumentopattern
, pero en su lugar recibe una cadena literal.Para solucionar este problema, puedes modificar la llamada a
gsub()
para utilizar una expresión regular que coincida con toda la cadena de texto que se desea eliminar. Por ejemplo:{r}
Sleep <- sleepDay_merged %>%
rename('ActivityDate' = 'SleepDay') %>%
mutate(ActivityDate = gsub(" 12:00:00 AM$", "", ActivityDate, perl = TRUE))
En este código actualizado, la expresión regular
" 12:00:00 AM$"
coincide con la cadena de texto" 12:00:00 AM"
al final ($
) de la columnaActivityDate
y la reemplaza por una cadena vacía. El argumentoperl = TRUE
indica agsub()
que utilice expresiones regulares de estilo Perl, que pueden ser más potentes que el motor de expresiones regulares predeterminado en R.