valores una reemplazar factores columna cambiar r default-value defaults

una - factores en r



Configuración de valores predeterminados de función R en una base específica de proyecto (2)

Comúnmente, utilizo la misma configuración de función. Me pregunto si hay un método, además de tener un nuevo objeto en la ruta que sea esencialmente un contenedor para la función, para establecer los argumentos predeterminados. Por ejemplo:

paste() tiene su argumento sep establecido en un espacio =" " , estoy cansado de escribir ,sep="" una y otra vez. Entonces, ¿hay alguna manera de reemplazar "temporalmente" la función con mis valores predeterminados elegidos?

paste(...,sep="")

¿Puedo lograr esto a través del empaque? A veces me he dado cuenta de que algunos paquetes obligan a otras funciones igualmente nombradas a enmascararse en el entorno global.

Idealmente, me gustaría algo que se pueda establecer proyecto por proyecto en ( load.r u otro punto de inicio de flujo de trabajo similar)


Personalmente dudaría mucho en cambiar el comportamiento predeterminado de las funciones comúnmente utilizadas, especialmente las funciones R básicas. Por un lado, disminuirá inmediatamente la portabilidad de los scripts o fragmentos de código en los que utilice las funciones redefinidas. Peor aún, es probable que otros usuarios de R que lean los guiones: (a) desconozcan sus significados privados para los elementos del lenguaje conocidos o (b) se sientan frustrados por tener que volver a ajustar sus propias expectativas para las funciones. Para mí, también se sentiría como una carga mental adicional para agregar diferentes significados al mismo símbolo en diferentes configuraciones.

Creo que una solución mucho mejor es crear funciones con nombres similares implementando sus valores predeterminados preferidos. Un nombre ligeramente modificado indicará de manera efectiva que esta no es la función básica familiar, sin agobiarlo con mucha o ninguna escritura adicional. Un buen ejemplo son las paste0() y cat0() que se incluyen en el paquete gsubfn . (Claramente, tú y yo no somos los únicos dos que nos encontramos (con frecuencia) molestos por la configuración de sep predeterminada de paste() ):

library(gsubfn) paste0 # function (..., sep = "") # paste(..., sep = sep) # <environment: namespace:gsubfn> cat0 # function (..., sep = "") # cat(..., sep = sep) # <environment: namespace:gsubfn>

A continuación, puede recopilar varias de estas funciones en un archivo de texto, comprándolas al principio de su secuencia de comandos o (mejor) empaquetarlas y cargarlas mediante una llamada a la library() .