<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:Helvetica;
        panose-1:2 11 5 4 2 2 2 2 2 4;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
span.apple-converted-space
        {mso-style-name:apple-converted-space;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 3.0cm 70.85pt 3.0cm;}
div.WordSection1
        {page:WordSection1;}
--></style></head><body lang=ES-UY link=blue vlink="#954F72"><div class=WordSection1><p class=MsoNormal><span lang=ES>Emilio, muchas gracias. Era lo que estaba buscando. Saludos, Sebastián.</span></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Enviado desde <a href="https://go.microsoft.com/fwlink/?LinkId=550986">Correo</a> para Windows 10</p><p class=MsoNormal><o:p> </o:p></p><div style='mso-element:para-border-div;border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=MsoNormal style='border:none;padding:0cm'><b>De: </b><a href="mailto:emilopezcano@gmail.com">Emilio L. Cano</a><br><b>Enviado: </b>viernes, 17 de abril de 2020 12:55<br><b>Para: </b><a href="mailto:residuo.solow@gmail.com">residuo.solow@gmail.com</a><br><b>CC: </b><a href="mailto:javier.ruben.marcuzzi@gmail.com">Javier Marcuzzi</a>; <a href="mailto:r-help-es@r-project.org">Lista R</a><br><b>Asunto: </b>Re: [R-es] Convertir lista de precios a dolares por gramo</p></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Hola,<o:p></o:p></p><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Hay muchas formas de hacerlo en una sola línea. A mí me gusta con dplyr, te pego debajo un ejemplo reproducible<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p><div><div><p class=MsoNormal>Salud,<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Emilio L. Cano<o:p></o:p></p></div><div><p class=MsoNormal><a href="http://emilio.lcano.com">http://emilio.lcano.com</a><o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>——<o:p></o:p></p></div><div><div><p class=MsoNormal>precios <- read.table(<o:p></o:p></p></div><div><p class=MsoNormal>  text ="Producto País Precio Unidad Peso<o:p></o:p></p></div><div><p class=MsoNormal>A AR 10 kg 12<o:p></o:p></p></div><div><p class=MsoNormal>B BR 210 lb 0,5<o:p></o:p></p></div><div><p class=MsoNormal>C UY 3,5 kg 90<o:p></o:p></p></div><div><p class=MsoNormal>A BR 3 kg 3<o:p></o:p></p></div><div><p class=MsoNormal>C CO 345 lb 7,6<o:p></o:p></p></div><div><p class=MsoNormal>A CO 1200 gr 23000",<o:p></o:p></p></div><div><p class=MsoNormal>  dec = ",", header = TRUE,<o:p></o:p></p></div><div><p class=MsoNormal>  stringsAsFactors = FALSE)<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>tipos <- read.table(<o:p></o:p></p></div><div><p class=MsoNormal>  text ="País TC<o:p></o:p></p></div><div><p class=MsoNormal>AR 12<o:p></o:p></p></div><div><p class=MsoNormal>BR 1,8<o:p></o:p></p></div><div><p class=MsoNormal>CO 45<o:p></o:p></p></div><div><p class=MsoNormal>UY 0,5",<o:p></o:p></p></div><div><p class=MsoNormal>  dec = ",", header = TRUE,<o:p></o:p></p></div><div><p class=MsoNormal>  stringsAsFactors = FALSE)<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>ratios <- read.table(<o:p></o:p></p></div><div><p class=MsoNormal>  text = "Unidad Ratio<o:p></o:p></p></div><div><p class=MsoNormal>kg 1000<o:p></o:p></p></div><div><p class=MsoNormal>lb 0,89<o:p></o:p></p></div><div><p class=MsoNormal>gr 1",<o:p></o:p></p></div><div><p class=MsoNormal>  dec = ",", header = TRUE,<o:p></o:p></p></div><div><p class=MsoNormal>  stringsAsFactors = FALSE)<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>library(dplyr)<o:p></o:p></p></div><div><p class=MsoNormal>precios %>% <o:p></o:p></p></div><div><p class=MsoNormal>  inner_join(tipos) %>% <o:p></o:p></p></div><div><p class=MsoNormal>  inner_join(ratios) %>% <o:p></o:p></p></div><div><p class=MsoNormal>  mutate(Precio2 = Precio*TC/(Peso/Ratio))<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>——<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div></div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal><br><br><o:p></o:p></p><blockquote style='margin-top:5.0pt;margin-bottom:5.0pt'><div><p class=MsoNormal>El 17 abr 2020, a las 17:40, <a href="mailto:residuo.solow@gmail.com">residuo.solow@gmail.com</a> escribió:<o:p></o:p></p></div><p class=MsoNormal><o:p> </o:p></p><div><div><p class=MsoNormal><span lang=ES>Javier:</span><o:p></o:p></p></div><div><p class=MsoNormal><span lang=ES> </span><o:p></o:p></p></div><div><p class=MsoNormal><span lang=ES>Si lo empecé a hacer con if anidados pero me queda gigantesco.<span class=apple-converted-space> </span></span><o:p></o:p></p></div><div><p class=MsoNormal><span lang=ES> </span><o:p></o:p></p></div><div><p class=MsoNormal><span lang=ES>Saludos,</span><o:p></o:p></p></div><div><p class=MsoNormal><span lang=ES> </span><o:p></o:p></p></div><div><p class=MsoNormal><span lang=ES>Sebastián.</span><o:p></o:p></p></div><div><p class=MsoNormal> <o:p></o:p></p></div><div><p class=MsoNormal>Enviado desde<span class=apple-converted-space> </span><a href="https://go.microsoft.com/fwlink/?LinkId=550986">Correo</a><span class=apple-converted-space> </span>para Windows 10<o:p></o:p></p></div><div><p class=MsoNormal> <o:p></o:p></p></div><div style='border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm'><div><p class=MsoNormal><b>De:<span class=apple-converted-space> </span></b><a href="mailto:javier.ruben.marcuzzi@gmail.com">Javier Marcuzzi</a><br><b>Enviado:<span class=apple-converted-space> </span></b>jueves, 16 de abril de 2020 19:16<br><b>Para:<span class=apple-converted-space> </span></b><a href="mailto:residuo.solow@gmail.com">Sebastian Kruk</a><br><b>CC:<span class=apple-converted-space> </span></b><a href="mailto:r-help-es@r-project.org">Lista R</a><br><b>Asunto:<span class=apple-converted-space> </span></b>Re: [R-es] Convertir lista de precios a dolares por gramo<o:p></o:p></p></div></div><div><p class=MsoNormal> <o:p></o:p></p></div><div><div><p class=MsoNormal>Estimado Sebastian Kruk<o:p></o:p></p></div><div><div><p class=MsoNormal> <o:p></o:p></p></div></div><div><div><p class=MsoNormal>Desde mi punto de vista es muy simple, varios If anidados, o en su defecto el condicional que a usted le resulte más cómodo.<o:p></o:p></p></div></div><div><div><p class=MsoNormal> <o:p></o:p></p></div></div><div><div><p class=MsoNormal>Javier Rubén Marcuzzi<o:p></o:p></p></div></div></div><div><p class=MsoNormal> <o:p></o:p></p></div><div><div><div><p class=MsoNormal>El jue., 16 abr. 2020 a las 18:49, Sebastian Kruk (<<a href="mailto:residuo.solow@gmail.com">residuo.solow@gmail.com</a>>) escribió:<o:p></o:p></p></div></div></div><div style='margin-left:4.8pt'><p class=MsoNormal>Estimados:<br><br>Tengo tres data frame (datos inventados):<br><br>A) Lista de precios de diferentes productos por paises.<br><br>Producto País Precio Unidad Peso<br>A AR 10 kg 12<br>B BR 210 lb 0,5<br>C UY 3,5 kg 90<br>A BR 3 kg 3<br>C CO 345 lb 7,6<br>A CO 1200 gr 23000<br><br>B) Tipo de cambio por país<br>País TC<br>AR 12<br>BR 1,8<br>CO 45<br>UY 0,5<br><br>C)Ratio para pasar a gr.<br>Unidad Ratio<br>kg 1000<br>lb 0,89<br>gr 1<br><br>Quiero obtener un nuevo data frame en que todos los precios estén<br>convertidos a dólares y expresados en gramos<br><br>Obtendría los valores de la siguiente manera:<br><br>Producto País Precio<br>A AR 10x12/(12x1000)<br>B BR 210x1,8/(0,5/0,89)<br>C UY 3,5x0,5/(90x1000)<br>A BR 3x1,8x3/1000<br>C CO 345x4,5/(7,6*0,89)<br>A CO 1200x4,5/(23000x1)<br><br>¿Hay alguna forma sencilla de hacerlo?<br><br>Saludos,<br><br>Sebastián.<br><br>        [[alternative HTML version deleted]]<br><br>_______________________________________________<br>R-help-es mailing list<br><a href="mailto:R-help-es@r-project.org" target="_blank">R-help-es@r-project.org</a><br><a href="https://stat.ethz.ch/mailman/listinfo/r-help-es" target="_blank">https://stat.ethz.ch/mailman/listinfo/r-help-es</a><o:p></o:p></p></div><div><p class=MsoNormal> <o:p></o:p></p></div><p class=MsoNormal><span style='font-size:9.0pt;font-family:"Helvetica",sans-serif'>_______________________________________________<br>R-help-es mailing list<br></span><a href="mailto:R-help-es@r-project.org"><span style='font-size:9.0pt;font-family:"Helvetica",sans-serif'>R-help-es@r-project.org</span></a><span style='font-size:9.0pt;font-family:"Helvetica",sans-serif'><br></span><a href="https://stat.ethz.ch/mailman/listinfo/r-help-es"><span style='font-size:9.0pt;font-family:"Helvetica",sans-serif'>https://stat.ethz.ch/mailman/listinfo/r-help-es</span></a><o:p></o:p></p></div></blockquote></div></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p></div></body></html>