Saltar al contenido

R: 2 funciones con el mismo nombre en 2 paquetes diferentes

Ten en cuenta que en la informática un error casi siempre tiene diversas resoluciones, de igual modo nosotros aquí mostraremos lo mejor y más eficiente.

Solución:

Probablemente ya haya notado que el orden de carga de los paquetes hace una diferencia, es decir, el paquete que se carga en último lugar enmascarará las funciones de los paquetes cargados antes.

Para especificar el paquete que desea utilizar, la sintaxis es:

chron::is.weekend()
tseries::is.weekend()

En otras palabras, usa packagename::functionname()

Además, si sabe que siempre querrá usar la función en chron, puede definir su propia función de la siguiente manera:

is.weekend <- chron::is.weekend    #EDIT

library(chron)
is.weekend.chron <- is.weekend
library(tseries)

luego puede llamar is.weekend para la versión tseries o is.weekend.chron para la versión chron

deberías dirigirte a la conflicted paquete de Hadly.

library(conflicted)
library(dplyr)
filter(mtcars, am & cyl == 8)

Luego, el paquete en conflicto arrojará un error y lo obligará a determinar claramente qué función prefiere:

Error: filtro encontrado en 2 paquetes. Debes indicar cual quieres con :: * dplyr::filter * stats::filter

Para resolver conflictos para toda su sesión, use <-:

filter <- dplyr::filter
filter(mtcars, am & cyl == 8)
    mpg cyl disp  hp drat   wt qsec vs am gear carb
1 15.8   8  351 264 4.22 3.17 14.5  0  1    5    4
2 15.0   8  301 335 3.54 3.57 14.6  0  1    5    8

También puede dirigirse a la conflict_prefer() función que puede determinar el ganador cuando se produce un conflicto. El código de ejemplo está tomado de Hadly, consulte el sitio web del paquete. https://www.tidyverse.org/blog/2018/06/conflicto/

Al final de todo puedes encontrar las explicaciones de otros usuarios, tú incluso puedes mostrar el tuyo si dominas el tema.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *