<?xml version="1.0"?>
<oembed><version>1.0</version><provider_name>Data Science made in Switzerland</provider_name><provider_url>https://blog.zhaw.ch/datascience</provider_url><author_name>mild</author_name><author_url>https://blog.zhaw.ch/datascience/author/mild/</author_url><title>R: Reduce() - apply&#x2019;s lesser known brother</title><type>rich</type><width>600</width><height>338</height><html>&lt;blockquote class="wp-embedded-content" data-secret="4rBCg264eF"&gt;&lt;a href="https://blog.zhaw.ch/datascience/r-reduce-applys-lesser-known-brother/"&gt;R: Reduce() &#x2013; apply&#x2019;s lesser known brother&lt;/a&gt;&lt;/blockquote&gt;&lt;iframe sandbox="allow-scripts" security="restricted" src="https://blog.zhaw.ch/datascience/r-reduce-applys-lesser-known-brother/embed/#?secret=4rBCg264eF" width="600" height="338" title="&#x201C;R: Reduce() &#x2013; apply&#x2019;s lesser known brother&#x201D; &#x2014; Data Science made in Switzerland" data-secret="4rBCg264eF" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" class="wp-embedded-content"&gt;&lt;/iframe&gt;&lt;script&gt;
/*! This file is auto-generated */
!function(d,l){"use strict";l.querySelector&amp;&amp;d.addEventListener&amp;&amp;"undefined"!=typeof URL&amp;&amp;(d.wp=d.wp||{},d.wp.receiveEmbedMessage||(d.wp.receiveEmbedMessage=function(e){var t=e.data;if((t||t.secret||t.message||t.value)&amp;&amp;!/[^a-zA-Z0-9]/.test(t.secret)){for(var s,r,n,a=l.querySelectorAll('iframe[data-secret="'+t.secret+'"]'),o=l.querySelectorAll('blockquote[data-secret="'+t.secret+'"]'),c=new RegExp("^https?:$","i"),i=0;i&lt;o.length;i++)o[i].style.display="none";for(i=0;i&lt;a.length;i++)s=a[i],e.source===s.contentWindow&amp;&amp;(s.removeAttribute("style"),"height"===t.message?(1e3&lt;(r=parseInt(t.value,10))?r=1e3:~~r&lt;200&amp;&amp;(r=200),s.height=r):"link"===t.message&amp;&amp;(r=new URL(s.getAttribute("src")),n=new URL(t.value),c.test(n.protocol))&amp;&amp;n.host===r.host&amp;&amp;l.activeElement===s&amp;&amp;(d.top.location.href=t.value))}},d.addEventListener("message",d.wp.receiveEmbedMessage,!1),l.addEventListener("DOMContentLoaded",function(){for(var e,t,s=l.querySelectorAll("iframe.wp-embedded-content"),r=0;r&lt;s.length;r++)(t=(e=s[r]).getAttribute("data-secret"))||(t=Math.random().toString(36).substring(2,12),e.src+="#?secret="+t,e.setAttribute("data-secret",t)),e.contentWindow.postMessage({message:"ready",secret:t},"*")},!1)))}(window,document);
//# sourceURL=https://blog.zhaw.ch/datascience/wp-includes/js/wp-embed.min.js
&lt;/script&gt;
</html><description>By Thoralf Mildenberger (ZHAW) Everybody who knows a bit about R knows that in general loops are said to be evil and should be avoided, both for efficiency reasons and code readability, although one could argue about both. The usual advice is to use vector operations and apply() and its relatives. sapply(), vapply() and lapply() [&hellip;]</description><thumbnail_url>https://blog.zhaw.ch/datascience/files/2017/06/cumsum2-300x300.png</thumbnail_url></oembed>
