<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Ildi Czeller&#39;s personal website</title>
    <link>https://ildiczeller.com/</link>
    <description>Recent content on Ildi Czeller&#39;s personal website</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    <lastBuildDate>Sat, 16 Jun 2018 00:00:00 +0000</lastBuildDate><atom:link href="https://ildiczeller.com/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Why shouldn&#39;t you use external data within R package</title>
      <link>https://ildiczeller.com/2018/06/16/why-shouldn-t-you-use-external-data-within-r-package/</link>
      <pubDate>Sat, 16 Jun 2018 00:00:00 +0000</pubDate>
      
      <guid>https://ildiczeller.com/2018/06/16/why-shouldn-t-you-use-external-data-within-r-package/</guid>
      <description>Author: Ildi Czeller, @czeildi on Twitter and Github
TL;DR Save all datasets you refer to from your functions within an R package as internal data.
what I learned In an R package you might have a dataset that you want to use in your functions and want to publicize as well as external dataset. In this case you should save this dataset as both internal and external data with
devtools::use_data(external_and_internal) devtools::use_data(external_and_internal, internal = TRUE) (More details in Hadley&amp;rsquo;s book on R packages.</description>
    </item>
    
    <item>
      <title>My #runconf18 experience</title>
      <link>https://ildiczeller.com/2018/06/01/my-runconf18-experience/</link>
      <pubDate>Fri, 01 Jun 2018 00:00:00 +0000</pubDate>
      
      <guid>https://ildiczeller.com/2018/06/01/my-runconf18-experience/</guid>
      <description>Author: Ildi Czeller, @czeildi on Twitter and Github
Last week I was lucky enough to participate in this year&amp;rsquo;s Ropensci unconference.
In my work as a Data Scientist at Emarsys I rely on the R ecosystem a lot. I feel that to contribute back is not only fun and challenging but also my responsibility as I already benefit enormously from the FOSS tools and supportive community. I have had small contributions like filing a bug ticket or reviewing a package for rOpenSci and they were positive experiences.</description>
    </item>
    
    <item>
      <title>Investigating difftime behavior</title>
      <link>https://ildiczeller.com/2018/04/02/investigating-difftime-behavior/</link>
      <pubDate>Mon, 02 Apr 2018 00:00:00 +0000</pubDate>
      
      <guid>https://ildiczeller.com/2018/04/02/investigating-difftime-behavior/</guid>
      <description>Author: Ildi Czeller, @czeildi on Twitter and Github
It caused me a great deal of headache to work around as.difftime to get what I wanted but also I learned much more than I expected along the way so I wanted to share the journey with you.
Initial experience I had a data frame with two columns containing timestamps and I wanted to calculate the difference between them.
## send_time open_time ## 1: 2018-04-01 00:01:00 2018-04-01 00:07:00 ## 2: 2018-04-02 00:01:00 2018-04-02 02:01:00 In the first row, there are 6 minutes between send and open time and in the second row there are 2 hours.</description>
    </item>
    
    <item>
      <title>Downloadable ggplots in shiny</title>
      <link>https://ildiczeller.com/2018/02/11/downloadable-ggplots-in-shiny/</link>
      <pubDate>Sun, 11 Feb 2018 00:00:00 +0000</pubDate>
      
      <guid>https://ildiczeller.com/2018/02/11/downloadable-ggplots-in-shiny/</guid>
      <description>A use-case for shiny modules Plotly comes with a built-in download option for every plot, but what if you would like to provide a similar functionality to multiple ggplot2 plots in your shiny app? I will show you that with modules you can simplify the code.
Without modules Your code in ui might look like this:
# ui.R # ... numericInput(&amp;quot;sample_ratio&amp;quot;, ...), plotOutput(&amp;quot;mtcars&amp;quot;), downloadButton(&amp;quot;mtcars_download&amp;quot;), plotOutput(&amp;quot;iris&amp;quot;), downloadButton(&amp;quot;iris_download&amp;quot;), and your code in server might look like this:</description>
    </item>
    
    <item>
      <title>merge on factor column</title>
      <link>https://ildiczeller.com/2017/11/30/merge-on-factor-column/</link>
      <pubDate>Thu, 30 Nov 2017 00:00:00 +0000</pubDate>
      
      <guid>https://ildiczeller.com/2017/11/30/merge-on-factor-column/</guid>
      <description>library(&amp;quot;forcats&amp;quot;) library(&amp;quot;data.table&amp;quot;) library(&amp;quot;magrittr&amp;quot;) I recently started working with factors in R and found the forcats package amazing. However, I did not found much documentation on merging two data frames on a factor column so I made small examples and observed the behavior.
same levels, different order In abc order: natural if converting from already ordered character.
dt_abc &amp;lt;- data.table(size = as_factor(c(&amp;quot;big&amp;quot;, &amp;quot;medium&amp;quot;, &amp;quot;tiny&amp;quot;))) levels(dt_abc$size) ## [1] &amp;quot;big&amp;quot; &amp;quot;medium&amp;quot; &amp;quot;tiny&amp;quot; We can define the natural order:</description>
    </item>
    
    <item>
      <title>custom ggplot2 theme</title>
      <link>https://ildiczeller.com/2017/10/15/custom-ggplot2-theme/</link>
      <pubDate>Sun, 15 Oct 2017 00:00:00 +0000</pubDate>
      
      <guid>https://ildiczeller.com/2017/10/15/custom-ggplot2-theme/</guid>
      <description>I spoke about custom ggplot2 themes at the last BURN meetup. My slides are available here but I will give you a somewhat extended summary here. A custom theme could come in handy both in academia and industry to ensure a consistent style.
Motivation As easy as it is to generate meaningful and complex charts with ggplot2 it can be tedious to control every detail of your chart to make it publication-ready.</description>
    </item>
    
    <item>
      <title>R package check with Docker on Codeship</title>
      <link>https://ildiczeller.com/2017/09/17/r-pkg-check-with-docker-on-codeship/</link>
      <pubDate>Sun, 17 Sep 2017 00:00:00 +0000</pubDate>
      
      <guid>https://ildiczeller.com/2017/09/17/r-pkg-check-with-docker-on-codeship/</guid>
      <description>Motivation At Emarsys we have several internal private R packages which are essential to our day-to-day work. They are also under constant development. We want to work on these in a collaborative and safe way. Fast and trustworthy CI &amp;amp; CD are essential: they reduce the cost and risk of adding a small but useful feature to one of our packages.
Although in the R community Travis is the standard for CI, at Emarsys the whole company uses Codeship happily so we wanted to give it a go.</description>
    </item>
    
    <item>
      <title>shiny app as R package v2</title>
      <link>https://ildiczeller.com/2017/08/16/shiny-app-as-r-package-v2/</link>
      <pubDate>Wed, 16 Aug 2017 00:00:00 +0000</pubDate>
      
      <guid>https://ildiczeller.com/2017/08/16/shiny-app-as-r-package-v2/</guid>
      <description>In my previous post I explored the possibility of wrapping a shiny app as an R package. I falsely stated that you cannot have a directory-based shiny app with global.R. Based on this question on Stack Overflow I proved the contrary. It is actually possible but with serious limitations in my opinion so I still strongly advise the function based approach.
You can put basically anything in the inst folder of your package and use those as is.</description>
    </item>
    
    <item>
      <title>shiny app as R package</title>
      <link>https://ildiczeller.com/2017/08/09/shiny-app-as-r-package/</link>
      <pubDate>Wed, 09 Aug 2017 00:00:00 +0000</pubDate>
      
      <guid>https://ildiczeller.com/2017/08/09/shiny-app-as-r-package/</guid>
      <description>Background I love and use shiny regularly and I also try to modularize my work more and more. Naturally I started to wonder whether I could have a whole shiny app as an R package and then possibly a project organizing multiple apps together. The answer is yes as I suspected.
Several others already wrote about the topic, including Dean Attali and William Landau. However, I gained a deeper understanding by trying things out myself.</description>
    </item>
    
    <item>
      <title>R pkg development alongside packrat</title>
      <link>https://ildiczeller.com/2017/08/02/r-pkg-development-alongside-packrat/</link>
      <pubDate>Wed, 02 Aug 2017 00:00:00 +0000</pubDate>
      
      <guid>https://ildiczeller.com/2017/08/02/r-pkg-development-alongside-packrat/</guid>
      <description>I use packrat for all my projects at Emarsys so for our internal packages as well as it eases collaboration. During package development there are numerous packages which come handy during development but not needed for usage. These are usually listed under the Suggests or Enhances field in the DESCRIPTION file. But should these be tracked with packrat as well?
In my opinion, it depends. If it is testthat or roxygen2 probably everyone contributing to the package will use it so it makes sense to track with packrat.</description>
    </item>
    
    <item>
      <title>modals for settings in shiny</title>
      <link>https://ildiczeller.com/2017/06/17/modals-for-settings-in-shiny/</link>
      <pubDate>Sat, 17 Jun 2017 00:00:00 +0000</pubDate>
      
      <guid>https://ildiczeller.com/2017/06/17/modals-for-settings-in-shiny/</guid>
      <description>For some time I have been wondering about the best way to hide more advanced settings from the regular user of your app. I have some apps with many different filters and options, all of which I want to keep because they have their legitimate usage. However, they take up valuable space and also confuse the user who does not need advanced options at the moment.
I also learned about the possibility of using modals and wondered whether there is a use case waiting to be solved.</description>
    </item>
    
    <item>
      <title>the dot symbol</title>
      <link>https://ildiczeller.com/2017/01/28/the-dot-symbol/</link>
      <pubDate>Sat, 28 Jan 2017 00:00:00 +0000</pubDate>
      
      <guid>https://ildiczeller.com/2017/01/28/the-dot-symbol/</guid>
      <description>The dot . appears in different places in the R ecosystem: e.g. purrr, magrittr’s %&amp;gt;%. I will explore and explain what happens if you mix these usages, or nest them, how the dot symbol is special and how it is not.
Basic usage %&amp;gt;% of magrittr You should use the dot if the parameter you pipe forward is not the first parameter of your next function or if you use pipe with data.</description>
    </item>
    
    <item>
      <title>ggplot2: exploration of the group aesthetics</title>
      <link>https://ildiczeller.com/2017/01/08/ggplot2-exploration-of-the-group-aesthetics/</link>
      <pubDate>Sun, 08 Jan 2017 00:00:00 +0000</pubDate>
      
      <guid>https://ildiczeller.com/2017/01/08/ggplot2-exploration-of-the-group-aesthetics/</guid>
      <description>I have made several plots with ggplot2 in the past 2 years and occasionally got errors related to the group aesthetics. I solved these issues without once taking the time to fully understand how the group aesthetic works. This blogpost is a result of my experiments to finally explore how it works. My understanding is a combination of my experiments and Hadley Wickhams outstanding book about ggplot2. (https://github.com/hadley/ggplot2-book)
Scenario 1: mapping based on one variable Our dummy data will be a unit square.</description>
    </item>
    
    <item>
      <title>About Me</title>
      <link>https://ildiczeller.com/about/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://ildiczeller.com/about/</guid>
      <description>My name is Ildi Czeller and I work as a Data Scientist/Data Engineer covering all aspects a medium-sized company needs from a data team. I am most experienced with R and SQL.
I am also a proud alumna and supporter of The Joy of Thinking Foundation. Besides my work, I was a mentor and organizer at Techcamp for 5 years.
Previously, I worked as a Software Engineer at Emarsys in the Budapest office.</description>
    </item>
    
    <item>
      <title>List of talks and publications</title>
      <link>https://ildiczeller.com/talks/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://ildiczeller.com/talks/</guid>
      <description>Talks DataFest Tbilisi 2019 November: Introduction to Shiny: building interactive dashboards with R workshop materials DataFest Tbilisi 2019 November: Making email campaigns more effective: message send time optimization slides as google slides slides on speakerdeck RLadies Meetup 2019 November Tbilisi: working with sheets in R slides code BURN meetup 2019 September: highlights from useR! 2019 slides useR! 2019 Toulouse 2019 July: ropsec: a package for easing operations security for the R user slides on speakerdeck video RLadies Meetup 2019 May Budapest: clean code in R workshop materials satRday Belgrade 2018 October: The essentials to work with object-oriented systems in R slides on speakerdeck, slides on github European R Users Meeting 2018 May: Clean R Code workshop held with Jenő Pál (@paljenczy) materials European R Users Meeting 2018 May: The essentials to work with object-oriented systems in R slides on speakerdeck, slides on github video Budapest BI Forum conference 2017 November: Message send time optimization slides on speakerdeck, slides on github BURN meetup 2017 October: custom ggplot2 theme slides RLadies meetup 2017 September: shiny introduction materials RLadies meetup 2017 June: shiny introduction materials Startup Safary Budapest 2017 April slides BURN meetup 2016 December: shiny modules materials Publications From 0 to 5: our journey of building an R-package ecosystem Weekend bias in send time optimisation </description>
    </item>
    
  </channel>
</rss>
