eval - R lazy evaluation of two variables in data.frame -
given data frame
df <- data.frame(a = sample(c(1,0), 30, replace = true), b = sample(c(2,3), 30, replace = true), c = sample(c(4,5), 30, replace = true)) and expression captured lazy() argument in lazyeval package
library(lazyeval) toeval <- lazy(c(a,b)) i want data frame 2 variables , b instead of 1 concatenated vector, given with
result <- lazy_eval(toeval, df) an unelegant version instantly comes ones mind
df_result <- data.frame(a = result[1:(nrow(df))], b = result[(nrow(df)+1):(nrow(df)*2)]) better ideas appreciated!
you can try:
toeval <- lazy(list(a,b)) data.frame(do.call(cbind, lazy_eval(toeval, df)))
Comments
Post a Comment