|
289 | 289 | code > span.fu { color: #900; font-weight: bold; } code > span.er { color: #a61717; background-color: #e3d2d2; } |
290 | 290 | </style> |
291 | 291 |
|
| 292 | + |
| 293 | + |
| 294 | + |
292 | 295 | </head> |
293 | 296 |
|
294 | 297 | <body> |
@@ -385,44 +388,53 @@ <h1 class="title toc-ignore">List Comprehensions in R</h1> |
385 | 388 | <a class="sourceLine" id="cb5-27" data-line-number="27"><span class="co">#> $ Petal.Width : num 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...</span></a> |
386 | 389 | <a class="sourceLine" id="cb5-28" data-line-number="28"><span class="co">#> $ Species : chr "setosa" "setosa" "setosa" "setosa" ...</span></a> |
387 | 390 | <a class="sourceLine" id="cb5-29" data-line-number="29"></a> |
388 | | -<a class="sourceLine" id="cb5-30" data-line-number="30"><span class="co"># 'data' argument example</span></a> |
389 | | -<a class="sourceLine" id="cb5-31" data-line-number="31"><span class="co"># specify which columns to map with a numeric vector of positions:</span></a> |
390 | | -<a class="sourceLine" id="cb5-32" data-line-number="32">res =<span class="st"> </span><span class="kw">alter</span>(</a> |
391 | | -<a class="sourceLine" id="cb5-33" data-line-number="33"> <span class="cf">for</span>(<span class="st">`</span><span class="dt">i, value</span><span class="st">`</span> <span class="cf">in</span> <span class="kw">numerate</span>(mtcars)) <span class="cf">if</span>(i <span class="op">%in%</span><span class="st"> </span><span class="kw">c</span>(<span class="dv">1</span>, <span class="dv">4</span>, <span class="dv">5</span>)) <span class="kw">as.character</span>(value),</a> |
392 | | -<a class="sourceLine" id="cb5-34" data-line-number="34"> <span class="dt">data =</span> mtcars</a> |
393 | | -<a class="sourceLine" id="cb5-35" data-line-number="35">)</a> |
394 | | -<a class="sourceLine" id="cb5-36" data-line-number="36"><span class="kw">str</span>(res)</a> |
395 | | -<a class="sourceLine" id="cb5-37" data-line-number="37"><span class="co">#> 'data.frame': 32 obs. of 11 variables:</span></a> |
396 | | -<a class="sourceLine" id="cb5-38" data-line-number="38"><span class="co">#> $ mpg : chr "21" "21" "22.8" "21.4" ...</span></a> |
397 | | -<a class="sourceLine" id="cb5-39" data-line-number="39"><span class="co">#> $ cyl : num 6 6 4 6 8 6 8 4 4 6 ...</span></a> |
398 | | -<a class="sourceLine" id="cb5-40" data-line-number="40"><span class="co">#> $ disp: num 160 160 108 258 360 ...</span></a> |
399 | | -<a class="sourceLine" id="cb5-41" data-line-number="41"><span class="co">#> $ hp : chr "110" "110" "93" "110" ...</span></a> |
400 | | -<a class="sourceLine" id="cb5-42" data-line-number="42"><span class="co">#> $ drat: chr "3.9" "3.9" "3.85" "3.08" ...</span></a> |
401 | | -<a class="sourceLine" id="cb5-43" data-line-number="43"><span class="co">#> $ wt : num 2.62 2.88 2.32 3.21 3.44 ...</span></a> |
402 | | -<a class="sourceLine" id="cb5-44" data-line-number="44"><span class="co">#> $ qsec: num 16.5 17 18.6 19.4 17 ...</span></a> |
403 | | -<a class="sourceLine" id="cb5-45" data-line-number="45"><span class="co">#> $ vs : num 0 0 1 1 0 1 0 1 1 1 ...</span></a> |
404 | | -<a class="sourceLine" id="cb5-46" data-line-number="46"><span class="co">#> $ am : num 1 1 1 0 0 0 0 0 0 0 ...</span></a> |
405 | | -<a class="sourceLine" id="cb5-47" data-line-number="47"><span class="co">#> $ gear: num 4 4 4 3 3 3 3 4 4 4 ...</span></a> |
406 | | -<a class="sourceLine" id="cb5-48" data-line-number="48"><span class="co">#> $ carb: num 4 4 1 1 2 1 4 2 2 4 ...</span></a> |
407 | | -<a class="sourceLine" id="cb5-49" data-line-number="49"></a> |
408 | | -<a class="sourceLine" id="cb5-50" data-line-number="50"><span class="co"># or with a vector of names:</span></a> |
409 | | -<a class="sourceLine" id="cb5-51" data-line-number="51">res =<span class="st"> </span><span class="kw">alter</span>(</a> |
410 | | -<a class="sourceLine" id="cb5-52" data-line-number="52"> <span class="cf">for</span>(<span class="st">`</span><span class="dt">name, value</span><span class="st">`</span> <span class="cf">in</span> <span class="kw">mark</span>(mtcars)) <span class="cf">if</span>(name <span class="op">%in%</span><span class="st"> </span><span class="kw">c</span>(<span class="st">"cyl"</span>, <span class="st">"am"</span>)) <span class="kw">as.character</span>(value),</a> |
411 | | -<a class="sourceLine" id="cb5-53" data-line-number="53"> <span class="dt">data =</span> mtcars</a> |
412 | | -<a class="sourceLine" id="cb5-54" data-line-number="54">)</a> |
413 | | -<a class="sourceLine" id="cb5-55" data-line-number="55"><span class="kw">str</span>(res)</a> |
414 | | -<a class="sourceLine" id="cb5-56" data-line-number="56"><span class="co">#> 'data.frame': 32 obs. of 11 variables:</span></a> |
415 | | -<a class="sourceLine" id="cb5-57" data-line-number="57"><span class="co">#> $ mpg : num 21 21 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 ...</span></a> |
416 | | -<a class="sourceLine" id="cb5-58" data-line-number="58"><span class="co">#> $ cyl : chr "6" "6" "4" "6" ...</span></a> |
417 | | -<a class="sourceLine" id="cb5-59" data-line-number="59"><span class="co">#> $ disp: num 160 160 108 258 360 ...</span></a> |
418 | | -<a class="sourceLine" id="cb5-60" data-line-number="60"><span class="co">#> $ hp : num 110 110 93 110 175 105 245 62 95 123 ...</span></a> |
419 | | -<a class="sourceLine" id="cb5-61" data-line-number="61"><span class="co">#> $ drat: num 3.9 3.9 3.85 3.08 3.15 2.76 3.21 3.69 3.92 3.92 ...</span></a> |
420 | | -<a class="sourceLine" id="cb5-62" data-line-number="62"><span class="co">#> $ wt : num 2.62 2.88 2.32 3.21 3.44 ...</span></a> |
421 | | -<a class="sourceLine" id="cb5-63" data-line-number="63"><span class="co">#> $ qsec: num 16.5 17 18.6 19.4 17 ...</span></a> |
422 | | -<a class="sourceLine" id="cb5-64" data-line-number="64"><span class="co">#> $ vs : num 0 0 1 1 0 1 0 1 1 1 ...</span></a> |
423 | | -<a class="sourceLine" id="cb5-65" data-line-number="65"><span class="co">#> $ am : chr "1" "1" "1" "0" ...</span></a> |
424 | | -<a class="sourceLine" id="cb5-66" data-line-number="66"><span class="co">#> $ gear: num 4 4 4 3 3 3 3 4 4 4 ...</span></a> |
425 | | -<a class="sourceLine" id="cb5-67" data-line-number="67"><span class="co">#> $ carb: num 4 4 1 1 2 1 4 2 2 4 ...</span></a></code></pre></div> |
| 391 | +<a class="sourceLine" id="cb5-30" data-line-number="30"><span class="co"># drop factors</span></a> |
| 392 | +<a class="sourceLine" id="cb5-31" data-line-number="31">res =<span class="st"> </span><span class="kw">alter</span>(<span class="cf">for</span>(i <span class="cf">in</span> iris) <span class="cf">if</span>(<span class="kw">is.factor</span>(i)) <span class="kw">exclude</span>())</a> |
| 393 | +<a class="sourceLine" id="cb5-32" data-line-number="32"><span class="kw">str</span>(res)</a> |
| 394 | +<a class="sourceLine" id="cb5-33" data-line-number="33"><span class="co">#> 'data.frame': 150 obs. of 4 variables:</span></a> |
| 395 | +<a class="sourceLine" id="cb5-34" data-line-number="34"><span class="co">#> $ Sepal.Length: num 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...</span></a> |
| 396 | +<a class="sourceLine" id="cb5-35" data-line-number="35"><span class="co">#> $ Sepal.Width : num 3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...</span></a> |
| 397 | +<a class="sourceLine" id="cb5-36" data-line-number="36"><span class="co">#> $ Petal.Length: num 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...</span></a> |
| 398 | +<a class="sourceLine" id="cb5-37" data-line-number="37"><span class="co">#> $ Petal.Width : num 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...</span></a> |
| 399 | +<a class="sourceLine" id="cb5-38" data-line-number="38"></a> |
| 400 | +<a class="sourceLine" id="cb5-39" data-line-number="39"><span class="co"># 'data' argument example</span></a> |
| 401 | +<a class="sourceLine" id="cb5-40" data-line-number="40"><span class="co"># specify which columns to map with a numeric vector of positions:</span></a> |
| 402 | +<a class="sourceLine" id="cb5-41" data-line-number="41">res =<span class="st"> </span><span class="kw">alter</span>(</a> |
| 403 | +<a class="sourceLine" id="cb5-42" data-line-number="42"> <span class="cf">for</span>(<span class="st">`</span><span class="dt">i, value</span><span class="st">`</span> <span class="cf">in</span> <span class="kw">numerate</span>(mtcars)) <span class="cf">if</span>(i <span class="op">%in%</span><span class="st"> </span><span class="kw">c</span>(<span class="dv">1</span>, <span class="dv">4</span>, <span class="dv">5</span>)) <span class="kw">as.character</span>(value),</a> |
| 404 | +<a class="sourceLine" id="cb5-43" data-line-number="43"> <span class="dt">data =</span> mtcars</a> |
| 405 | +<a class="sourceLine" id="cb5-44" data-line-number="44">)</a> |
| 406 | +<a class="sourceLine" id="cb5-45" data-line-number="45"><span class="kw">str</span>(res)</a> |
| 407 | +<a class="sourceLine" id="cb5-46" data-line-number="46"><span class="co">#> 'data.frame': 32 obs. of 11 variables:</span></a> |
| 408 | +<a class="sourceLine" id="cb5-47" data-line-number="47"><span class="co">#> $ mpg : chr "21" "21" "22.8" "21.4" ...</span></a> |
| 409 | +<a class="sourceLine" id="cb5-48" data-line-number="48"><span class="co">#> $ cyl : num 6 6 4 6 8 6 8 4 4 6 ...</span></a> |
| 410 | +<a class="sourceLine" id="cb5-49" data-line-number="49"><span class="co">#> $ disp: num 160 160 108 258 360 ...</span></a> |
| 411 | +<a class="sourceLine" id="cb5-50" data-line-number="50"><span class="co">#> $ hp : chr "110" "110" "93" "110" ...</span></a> |
| 412 | +<a class="sourceLine" id="cb5-51" data-line-number="51"><span class="co">#> $ drat: chr "3.9" "3.9" "3.85" "3.08" ...</span></a> |
| 413 | +<a class="sourceLine" id="cb5-52" data-line-number="52"><span class="co">#> $ wt : num 2.62 2.88 2.32 3.21 3.44 ...</span></a> |
| 414 | +<a class="sourceLine" id="cb5-53" data-line-number="53"><span class="co">#> $ qsec: num 16.5 17 18.6 19.4 17 ...</span></a> |
| 415 | +<a class="sourceLine" id="cb5-54" data-line-number="54"><span class="co">#> $ vs : num 0 0 1 1 0 1 0 1 1 1 ...</span></a> |
| 416 | +<a class="sourceLine" id="cb5-55" data-line-number="55"><span class="co">#> $ am : num 1 1 1 0 0 0 0 0 0 0 ...</span></a> |
| 417 | +<a class="sourceLine" id="cb5-56" data-line-number="56"><span class="co">#> $ gear: num 4 4 4 3 3 3 3 4 4 4 ...</span></a> |
| 418 | +<a class="sourceLine" id="cb5-57" data-line-number="57"><span class="co">#> $ carb: num 4 4 1 1 2 1 4 2 2 4 ...</span></a> |
| 419 | +<a class="sourceLine" id="cb5-58" data-line-number="58"></a> |
| 420 | +<a class="sourceLine" id="cb5-59" data-line-number="59"><span class="co"># or with a vector of names:</span></a> |
| 421 | +<a class="sourceLine" id="cb5-60" data-line-number="60">res =<span class="st"> </span><span class="kw">alter</span>(</a> |
| 422 | +<a class="sourceLine" id="cb5-61" data-line-number="61"> <span class="cf">for</span>(<span class="st">`</span><span class="dt">name, value</span><span class="st">`</span> <span class="cf">in</span> <span class="kw">mark</span>(mtcars)) <span class="cf">if</span>(name <span class="op">%in%</span><span class="st"> </span><span class="kw">c</span>(<span class="st">"cyl"</span>, <span class="st">"am"</span>)) <span class="kw">as.character</span>(value),</a> |
| 423 | +<a class="sourceLine" id="cb5-62" data-line-number="62"> <span class="dt">data =</span> mtcars</a> |
| 424 | +<a class="sourceLine" id="cb5-63" data-line-number="63">)</a> |
| 425 | +<a class="sourceLine" id="cb5-64" data-line-number="64"><span class="kw">str</span>(res)</a> |
| 426 | +<a class="sourceLine" id="cb5-65" data-line-number="65"><span class="co">#> 'data.frame': 32 obs. of 11 variables:</span></a> |
| 427 | +<a class="sourceLine" id="cb5-66" data-line-number="66"><span class="co">#> $ mpg : num 21 21 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 ...</span></a> |
| 428 | +<a class="sourceLine" id="cb5-67" data-line-number="67"><span class="co">#> $ cyl : chr "6" "6" "4" "6" ...</span></a> |
| 429 | +<a class="sourceLine" id="cb5-68" data-line-number="68"><span class="co">#> $ disp: num 160 160 108 258 360 ...</span></a> |
| 430 | +<a class="sourceLine" id="cb5-69" data-line-number="69"><span class="co">#> $ hp : num 110 110 93 110 175 105 245 62 95 123 ...</span></a> |
| 431 | +<a class="sourceLine" id="cb5-70" data-line-number="70"><span class="co">#> $ drat: num 3.9 3.9 3.85 3.08 3.15 2.76 3.21 3.69 3.92 3.92 ...</span></a> |
| 432 | +<a class="sourceLine" id="cb5-71" data-line-number="71"><span class="co">#> $ wt : num 2.62 2.88 2.32 3.21 3.44 ...</span></a> |
| 433 | +<a class="sourceLine" id="cb5-72" data-line-number="72"><span class="co">#> $ qsec: num 16.5 17 18.6 19.4 17 ...</span></a> |
| 434 | +<a class="sourceLine" id="cb5-73" data-line-number="73"><span class="co">#> $ vs : num 0 0 1 1 0 1 0 1 1 1 ...</span></a> |
| 435 | +<a class="sourceLine" id="cb5-74" data-line-number="74"><span class="co">#> $ am : chr "1" "1" "1" "0" ...</span></a> |
| 436 | +<a class="sourceLine" id="cb5-75" data-line-number="75"><span class="co">#> $ gear: num 4 4 4 3 3 3 3 4 4 4 ...</span></a> |
| 437 | +<a class="sourceLine" id="cb5-76" data-line-number="76"><span class="co">#> $ carb: num 4 4 1 1 2 1 4 2 2 4 ...</span></a></code></pre></div> |
426 | 438 |
|
427 | 439 |
|
428 | 440 |
|
|
0 commit comments