[R-es] Resultado operación entre dataframes

David Camilo Gomez Medina dcgomezme @end|ng |rom un@|@edu@co
Mie Mar 15 18:38:56 CET 2023


Hola a todos,

Muchísimas gracias por sus comentarios y ayuda. Me sirvió mucho las maneras
que me mostraron de solucionar el problema. Encontré otra manera de
resolverlo utilizando la librería dplyr, me gustaría compartirles esta
forma:

df_1 %>%
  mutate(across(all_of(df_2$nombre), ~ . - df_2$valor[match(cur_column(),
df_2$nombre)]))

Cordialmente,

David.


On Tue, 14 Mar 2023 at 14:45, David Camilo Gomez Medina <
dcgomezme using unal.edu.co> wrote:

> Buen día estimados,
>
> Tengo el siguiente código:
>
> df_1 <- data.frame(ana = c(15, 20, 30), maria = c(15,20,30), jose = c(15,
> 20, 30))
>
> df_2 <- data.frame(nombre = c("jose", "ana", "maria"), valor = c(1,2,3))
>
> # Find the corresponding columns in df_1 based on the values in df_2$nombre
> cols <- match(df_2$nombre, names(df_1))
>
> # Subtract the values of df_2$valor from the corresponding columns of df_1
> df_1[,cols] <- df_1[,cols] - (df_2$valor)
>
> # Print the resulting data frame
> df_1
>
> y mi resultado es el siguiente:
>
>   ana maria jose
> 1  14    14   14
> 2  18    18   18
> 3  27    27   27
>
> Pero el resultado debería ser:
>
>   ana maria jose
> 1  13    12   14
> 2  18    17   19
> 3  28    27   29
>
> ¿Saben qué podría estar pasando?
>
> Quedo muy atento, gracias.
>
>

-- 
*Aviso legal:* El contenido de este mensaje y los archivos adjuntos son 
confidenciales y de uso exclusivo de la Universidad Nacional de Colombia. 
Se encuentran dirigidos sólo para el uso del destinatario al cual van 
enviados. La reproducción, lectura y/o copia se encuentran prohibidas a 
cualquier persona diferente a este y puede ser ilegal. Si usted lo ha 
recibido por error, infórmenos y elimínelo de su correo. Los Datos 
Personales serán tratados conforme a la Ley 1581 de 2012 y a nuestra 
Política de Datos Personales que podrá consultar en la página web 
www.unal.edu.co <http://www.unal.edu.co/>.* *Las opiniones, informaciones, 
conclusiones y cualquier otro tipo de dato contenido en este correo 
electrónico, no relacionados con la actividad de la Universidad Nacional de 
Colombia, se entenderá como personales y de ninguna manera son avaladas por 
la Universidad.

	[[alternative HTML version deleted]]



Más información sobre la lista de distribución R-help-es