This document include a list of examples using rlist
together with pipeR
.
library(rlist)
library(pipeR)
set.seed(100)
srcData <- rnorm(1000)
1:5 %>>%
list.map(sample(srcData,10)) %>>%
list.select(mean=mean(.),median=median(.)) %>>%
list.stack
# mean median
# 1 0.14381 0.24374
# 2 0.33333 0.22613
# 3 -0.40609 -0.42289
# 4 -0.29127 -0.22574
# 5 -0.07143 0.09998
students <- '
A:
s1:
name: Ken
age: 25
s2:
name: James
age: 23
B:
s3:
name: Peter
age: 25
s4:
name: Josh
age: 24
'
students %>>%
list.parse(type="yaml") %>>%
list.map(f(members,,clsname) -> members %>>% list.update(class=clsname)) %>>%
list.ungroup %>>%
list.stack
# name age class
# 1 Ken 25 A
# 2 James 23 A
# 3 Peter 25 B
# 4 Josh 24 B
The following can tell whether an integer is a prime number.
is.prime <- function(num) {
if (num == 2L) {
TRUE
} else if (any(num %% 2L:(num-1L) == 0L)) {
FALSE
} else {
TRUE
}
}
To find 50 prime numbers no greater than 1000, we can use list.find()
.
list.find(1:1000,is.prime(.),50)
# [1] 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59
# [18] 61 67 71 73 79 83 89 97 101 103 107 109 113 127 131 137 139
# [35] 149 151 157 163 167 173 179 181 191 193 197 199 211 223 227 229
To find all prime numbers no greater than 500, we can use list.filter()
.
list.filter(1:500,is.prime(.))
# [1] 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59
# [18] 61 67 71 73 79 83 89 97 101 103 107 109 113 127 131 137 139
# [35] 149 151 157 163 167 173 179 181 191 193 197 199 211 223 227 229 233
# [52] 239 241 251 257 263 269 271 277 281 283 293 307 311 313 317 331 337
# [69] 347 349 353 359 367 373 379 383 389 397 401 409 419 421 431 433 439
# [86] 443 449 457 461 463 467 479 487 491 499