En este artículo, vamos a aplicar funciones solo para columnas de marco de datos específicas en el lenguaje R.
La función en R se puede especificar usando la palabra clave function, que toma el elemento x, por ejemplo, como entrada y modifica cada uno de los elementos en x de acuerdo con la función definida por el usuario.
fun <- function(x){ }
La función predefinida o definida por el usuario se puede aplicar a las columnas específicas del marco de datos usando el método de aplicación incorporado en R. El método de aplicación en R se usa para aplicar una función dada a los elementos del marco de datos a través de los ejes especificados. Luego se modifican los elementos. Sin embargo, las columnas de factores deben tratarse con precaución, ya que pueden provocar pérdida de datos o ambigüedad. La salida devuelta tiene la forma de un marco de datos.
Sintaxis: apply(data_frame[:col_indx],axes, FUN)
Argumentos:
- data_frame: el marco de datos para aplicar la función 2
- ejes: los ejes sobre los que aplicar la función, 1 especifica filas y 2 columnas
- FUN – La función a aplicar
Ejemplo 1: Aplicar función solo para columnas de marco de datos específicas en R
R
# creating a data frame data_frame <- data.frame(col1 = c(1:10), col2 = 11:20, col3 = c(rep(TRUE,4),rep(FALSE,6))) print("Original DataFrame") print(data_frame) # defining the function user_defined_func <- function(x) { # subtracting the value of 1 from each x-1 } data_frame_temp <- apply(data_frame[ ,c(1,2)], 2, user_defined_func) print("Modified col2") print (data_frame_temp) # retrieving the entire data frame data_frame_mod <- data_frame # getting column names colnames <- colnames(data_frame_mod) data_frame_mod[ , colnames %in% colnames(data_frame_temp)] <- data_frame_temp print("Modified DataFrame") print(data_frame_mod)
Producción:
Ejemplo 2: Aplicar la función solo para específicos en varias columnas de marcos de datos en R
La función se puede aplicar sobre múltiples columnas de tal manera que se tenga en cuenta un rango de columnas que forman un subconjunto del conjunto completo de columnas del marco de datos. El siguiente fragmento de código ilustra el procedimiento donde el valor entero 1 se agrega a las últimas tres columnas del marco de datos:
R
# creating a data frame data_frame <- data.frame(col1 = c(1:10), col2 = 11:20, col3 = c(rep(TRUE,4),rep(FALSE,6)), col4 = 0:9) print("Original DataFrame") print(data_frame) # defining the function user_defined_func <- function(x) { x+1 } data_frame_temp <- apply(data_frame[ ,2:4],2, user_defined_func) print("Modified col2") print (data_frame_temp) # retrieving the entire data frame data_frame_mod <- data_frame # getting column names colnames <- colnames(data_frame_mod) data_frame_mod[ , colnames %in% colnames(data_frame_temp)] <- data_frame_temp print("Modified DataFrame") print(data_frame_mod)
Producción:
Explicación : sin embargo, notamos que dado que 1 es un valor entero cuando sumamos su valor a los valores lógicos VERDADERO y FALSO de los valores de la columna 2, conduce a la conversión ambigua de valores en números enteros, donde VERDADERO se toma como 1 y FALSO se asigna a un valor entero de 0. El resultado se devuelve en consecuencia.
Publicación traducida automáticamente
Artículo escrito por yashchuahan y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA