Displaying 20 results from an estimated 8000 matches similar to: "Speed up code, profiling, optimization, lapply vs. loops"
2009 Aug 19
1
Lattice: Drawing a single contour line with a negative value fails
Hi everybody,
I want to add a single contourline to a levelplot. While everything
works fine if the value at which the line should be drawn is positive,
there is an error if the value is negative:
library(lattice)
my.panel <- function(..., at, contour=FALSE, labels=NULL) {
panel.levelplot(..., at=at, contour=contour, labels=labels)
panel.contourplot(..., contour=TRUE,
2012 Jul 02
5
ggplot: dodge positions
Dear all,
I want to get a series of boxplots (grouped by two factors) and I want to overlay the original observations and the following code does almost what I want:
library(ggplot)
ddf <- data.frame(x=factor(rep(LETTERS[1:4], each=30)), y = runif(120,0,10), grp = factor(rep(rep(1:3, 10), 4)))
ggplot(ddf, aes(x, y, colour=grp)) + geom_boxplot() + geom_point()
Yet the position of the points
2010 Jun 21
2
list() assigning the same value to two items
Hi everybody,
I'd like to have a list with two elements, where both elements have the same value:
z <- list(a=1, b=1)
If it happens, that I've to change the value, I've to assure that I change both. This is error prone. Hence, a better way to achieve this is to define:
tmp <- 1
z <- list(a=tmp, b=tmp)
Now, I'm wondering if it is possible to make this more compact:
z
2012 Oct 31
1
aggregate.formula: formula from string
Dear all,
I want to use aggregate.formula to conveniently summarize a data.frame. I have quiet some variables in the data.frame and thus I don't want to write all these names by hand, but instead create them on the fly. This approach has the advantage that if there will be even more columns in the data.frame I don't have to change the code.
I've hence tried to construct a formula
2012 Dec 10
1
Sweep out control
Dear all,
Assume that I have the following data structure:
d <- expand.grid(subj=1:5, time=1:3, treatment=LETTERS[1:3])
d$value <- 10 ^ (as.numeric(d$treatment) + 1) + 10 * d$subj + d$time
d$value2 <- 100000 + d$value
where d$treatment == "C" stands for my control group. What I want to achieve now is to subtract the values corresponding to d$treatment == "C" from
2012 Jul 03
2
ggplot2: legend
Dear all,
I produced the following graph with ggplot which is almost fine, yet I don't like that the legend for "Means" and "Observations" includes a line, though no line is used in the plot for those two (the line for "Overall Mean" on the other hand is wanted):
library(ggplot2)
ddf <- data.frame(x = factor(rep(LETTERS[1:2], 5)), y = rnorm(10))
p <-
2010 Dec 13
1
predict.lm[e] with formula passed as a variable
Dear all,
In a function I paste a string and convert it to a formula which I pass
to lm[e]. The idea is to write a function which takes the name of the
response variable and the explanatory variable and the data frame as an
argument and calculates an lm[e]. (see example below)
This works fine, but if I want to make a prediction on this model, R
complains that the object holding the formula
2013 Nov 04
1
ggplot2: Add '+' operator for aes (uneval) objects
Dear all,
Is there a reason, why there is no +-operator for aes (i.e. uneval) objects (as there is for themes and gg objects)? I had a couple of cases where such an operator would be useful, for instance to combine the result of aes and aes_string in functions. Any flaws with the following proposition:
`+.uneval` <- function(e1, e2) {
dup <- names(e1) %in% names(e2)
if (any(dup)) {
2011 Jan 05
1
Minimum of an ordered factor
Hi everybody,
Is there a particular reason, why this code does not work as intended:
z <- factor(LETTERS[1:3], ordered = TRUE)
u <- 4:6
min(z[u > 4])
Error in Summary.factor(2:3, na.rm = FALSE) :
min not meaningful for factors
I agree that min is indeed not meaningful for not ordered factors, but
it makes sense for ordered factors. Especially since
z[3] <
2010 Aug 30
1
lattice: limits in reversed order with relation="same"
Hi everybody,
I want an x-axis which has xlim=c(max, min) rather than xlim=c(min, max)
in order to reflect the type of the process (cooling):
library(lattice)
myprepanel <- function(x,y,...) list(xlim=rev(range(x)))
x <- rep(1:10, 100)
z <- factor(sample(10, 1000, T))
y <- rnorm(1000, x, as.numeric(z))
xyplot(y~x|z, scales=list(x="free"), prepanel=myprepanel)
This works
2011 Oct 21
1
droplevels: drops contrasts as well
Dear all,
Today I figured out that there is a neat function called droplevels,
which, well, drops unused levels in a data frame. I tried the function
with some of my data sets and it turned out that not only the unused
levels were dropped but also the contrasts I set via "C". I had a look
into the code, and this behaviour arises from the fact that droplevels
uses simply factor to drop
2009 Aug 24
6
CRAN (and crantastic) updates this week
CRAN (and crantastic) updates this week
New packages
------------
Updated packages
----------------
New reviews
-----------
This email provided as a service for the R community by
http://crantastic.org.
Like it? Hate it? Please let us know: cranatic at gmail.com.
2010 Aug 23
2
Sum a list of tables
Hi all,
In R it is possible to sum tables:
> (a <- table(rep(1:3, sample(10,3))))
1 2 3
2 5 7
> a+a
1 2 3
4 10 14
Now suppose that I have a list of tables, where each table counts the
same things
> k <- list(a,a,a)
How can I sum all tables in k?
> do.call(sum, k)
[1] 42
does not work since it sums over each table.
> do.call(`+`, list(a,a))
1 2 3
4 10
2010 May 04
1
Lazy evaluation in function call
Hi everybody,
how is it possible to refer to an argument passed to a function in the
function call? What I like to do, is something like
f <- function(x,y) x+y
f(2, x) # should give 4
The problem is of course that x is only known inside the function. Of course I
could specify something like
f(z<-2,z)
but I'm just curious whether it is possible to use a fancy combination of
eval,
2010 Jul 20
1
Telling R CMD check where to find libraries
Hello everybody,
Currently I'm developing a library, which uses some functions from
another package (namely plotrix). Consequently, I listed this dependency
in the DESCRIPTION file. When I try to run "R CMD check mypackage", the
check fails, for the library plotrix cannot be found on the system. As
far as I understood "R CMD check" uses --vanilla implicitly, thus, no
2010 Jun 11
1
CHM help does not find help docs in package stats
Hi all,
currently I'm working on an R package bundling some frequently used
functions. When I load my package and type
?one_of_my_functions
I get the particular help file. If I try to get help on another
function, which is part of package stats (prcomp say), I get "This
program cannot display the webpage". A help on ?mean does, however, work
as it opens a new window showing the
2012 Feb 13
1
Overwrite S3 methond from base package
Dear all,
I am developing a package, which bundles my most frequently used
functions. One of those is a modified version of droplevels from the
base package (basically, it preserves any contrast function which was
used to create the factor, contrast matrices are not kept, for they
could be wrong if a level is dropped).
In my NAMESPACE file I've the following directives, which should export
2011 Aug 02
1
lattice: index plot
Dear all,
How can I make an index plot with lattice, that is plotting a vector
simply against its particular index in the vector, i.e. something
similar to
y <- rnorm(10)
plot(y)
I don't want to specify the x's manually, as this could become
cumbersome when having multiple panels.
I tried something like
library(lattice)
mp <- function(x, y, ...) {
x <- 1:length(y)
2011 Mar 08
1
Replacing values in a data.frame/matrix
Hi all,
Suppose we have the following matrix
m <- matrix(c(1,2,3,2,1,3,3,1,2), ncol = 3, byrow=T)
where in each row each number occurs only once.
I'd like to define a permutation, e.g. 1 -> 2, 2 -> 1, 3 -> 3 and apply
it to the matrix. Thus, the following matrix should result:
m.perm <- matrix(c(2,1,3,1,2,3,3,2,1), ncol = 3, byrow=T)
i.e. each 1 should map to 2 and vice
2011 Nov 03
1
Select columns of a data.frame by name OR index in a function
Dear all,
Sometimes I have the situation where a function takes a data.frame and
an additional argument describing come columns. For greater flexibility
I want to allow for either column names or column indices. What I
usually do then is something like the following:
-------------8<-------------
f <- function(datf, cols) {
nc <- seq_along(datf)
cn <- colnames(datf)
colOK <-