Evaluate expression given as a string

The eval() function evaluates an expression, but “5+5″ is a string, not an expression. Use parse() with text=<string> to change the string into an expression: > eval(parse(text=”5+5”)) [1] 10 > class(“5+5”) [1] “character” > class(parse(text=”5+5″)) [1] “expression” Calling eval() invokes many behaviours, some are not immediately obvious: > class(eval(parse(text=”5+5″))) [1] “numeric” > class(eval(parse(text=”gray”))) [1] “function” … Read more

How can I remove an element from a list?

If you don’t want to modify the list in-place (e.g. for passing the list with an element removed to a function), you can use indexing: negative indices mean “don’t include this element”. x <- list(“a”, “b”, “c”, “d”, “e”); # example list x[-2]; # without 2nd element x[-c(2, 3)]; # without 2nd and 3rd Also, … Read more

Sample random rows in dataframe

First make some data: > df = data.frame(matrix(rnorm(20), nrow=10)) > df X1 X2 1 0.7091409 -1.4061361 2 -1.1334614 -0.1973846 3 2.3343391 -0.4385071 4 -0.9040278 -0.6593677 5 0.4180331 -1.2592415 6 0.7572246 -0.5463655 7 -0.8996483 0.4231117 8 -1.0356774 -0.1640883 9 -0.3983045 0.7157506 10 -0.9060305 2.3234110 Then select some rows at random: > df[sample(nrow(df), 3), ] X1 X2 … Read more

Side-by-side plots with ggplot2

Any ggplots side-by-side (or n plots on a grid) The function grid.arrange() in the gridExtra package will combine multiple plots; this is how you put two side by side. require(gridExtra) plot1 <- qplot(1) plot2 <- qplot(1) grid.arrange(plot1, plot2, ncol=2) This is useful when the two plots are not based on the same data, for example … Read more

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)