similar to: matrix row product and cumulative product

Displaying 20 results from an estimated 10000 matches similar to: "matrix row product and cumulative product"

2008 Sep 03
2
optimizing speed of calculation (recursive product)
Dear list, I'm wondering how to optimize functions/processes like the one shown below (which simplifies something we're trying to do with very large datasets). In many cases I've noticed that using apply, sapply etc can help speeding up processes, but in this case I don't see how I could do so. a <- runif(10000000,0.5,1.6) C <- 2 M <- 10000000 system.time( for (i in
2009 Sep 16
2
Generalized cumsum?
Is there anything like cumsum and cumprod but which allows you to apply an arbitrary function instead of sum and product? In other words, I want a function cumfunc(x, f) that returns a vector, so that for all n up to the length of x cumapply(x,f)[n] = f(x[1:n]) This would give cumsum and cumprod as special cases when f=sum or f=prod. I could write such a function, but I can't see
2011 Nov 27
1
generating a vector of y_t = \sum_{i = 1}^t (alpha^i * x_{t - i + 1})
Dear R-help, I have been trying really hard to generate the following vector given the data (x) and parameter (alpha) efficiently. Let y be the output list, the aim is to produce the the following vector(y) with at least half the time used by the loop example below. y[1] = alpha * x[1] y[2] = alpha^2 * x[1] + alpha * x[2] y[3] = alpha^3 * x[1] + alpha^2 * x[2] + alpha * x[3] ..... below are
2006 Feb 28
2
vector math: calculating a rolling 12 row product?
I have a dataframe of numeric values with 30 ?rows? and 7 ?columns?. For each column, beginning at ?row? 12 and down to ?row? 30, I wish to calculate the ?rolling 12 row product?. I.e., within each column, I wish to multiply all the values in row 1:12, 2:13, 19:30. I wish to save the results as a new dataframe, which will have 19 rows and 7 columns.
2010 Aug 23
1
Speeding up sum and prod
Looking for more ways to speed up R, I've found that large improvements are possible in the speed of "sum" and "prod" for long real vectors. Here is a little test with R version 2.11.1 on an Intel Linux system > a <- seq(0,1,length=1000) > system.time({for (i in 1:1000000) b <- sum(a)}) user system elapsed 4.800 0.010 4.817 > system.time({for (i
2010 Apr 01
1
how to construct a time series
Hi, I need to generate the time series of the production, but as I'm new to this topic I am not able to do that. This is what the time series should be: PROD(t)=PROD(t,T) PROD(t-1)=PROD(t-1,T) PROD(t-2)=PROD(t-1)*PROD(t-2,T-1)/PROD(t-1,T-1) PROD(t-3)=PROD(t-2)*PROD(t-3,T-2)/PROD(t-2,T-2) ... ... ... from PROD(t-2)...it will get the same expression; where PROD(t,T) is the value of the
2010 May 05
1
testInstalledBasic question
Hi, I'm currently in the process of writing an R-installation SOP for my company. As part of that process I'm using the recommendations from the 'R Installation and Administration' document, section 3.2, "Testing an installation". This is done on an XP machine, using the latest binary of 2.11.0. The binary is downloaded and then installed from the installer. I then
2009 Oct 29
2
fast cumulative matrix multiplication
Hi all, I am looking for a function like cumprod() that works for matrix multiplication. In other words, I have matrices [M1, M2, ..., Mn], and I want to calculate [M1, M1%*%M2, M1%*%M2%*%M3, ..., M1%*%...%*%Mn] as quickly as possible. Right now I'm using a for() loop but it seems like there should be a faster way. Any help is appreciated! Thanks, Todd Schneider todd.w.schneider@gmail.com
2008 Jan 13
3
product of vector elements
All, I would like to find a simper method that I now have to find the product of all elements in a vector: #get product of vector elements: (1,2,3,4,5) vec.product <- exp(sum(log(c(1,2,3,4,5)))) I have not found a vector product function, if one has been written. Thanks, Gerard [[alternative HTML version deleted]]
2002 Sep 03
1
t(xmat)
Hi, I have a matrix and time series "xmat". I have no problem executing any matrix functions except t(xmat) which gives the following error message. My question if "xmat" is a matrix why I can not execute this matrix function?? converting the time series and matrix into a data frame solves the problem >dim(xmat) [1] 98 7 > t(xmat) Error in "tsp<-"(*tmp*,
2009 Oct 13
7
lapply() reccursively
Hi all, I was wondering whether it is possible to use the lapply() function to alter the value of the input, something in the spirit of : a1<-runif(100) a2<-function(i){ a1[i]<-a1[i-1]*a1[i];a1[i] } a3<-lapply(2:100,a2) Something akin to a for() loop, but using the lapply() infrastructure. I haven't been able to get rapply() to do this. The reason is that the "real"
2004 Sep 16
1
Newbie q. need some help understanding this code.
dear all. Would someone be kind and willing to explain the code below for a person who has never used R? ( that is if one has enough time and inclination) It implements gillepsie's stochastic algorithm for Lotka Volterra model. What would help me tremendously is to see the breakdown of the line by line code into plain english. thanks for any insights or other comments. sean
2005 Jul 07
3
xmat[1, 2:3] <- NULL
I have a situation where I'm filling out a dataframe from a database. Sometimes the database query doesn't get anything, so I end up trying to place NULL in the dataframe like below. > temp <- NULL > xmat <- as.data.frame(matrix(NA, 2, 3)) > xmat[1, 2:3] <- temp Error in if (m < n * p && (n * p)%%m) stop(gettextf("replacement has %d items, need %d",
2005 Jul 22
1
find confounder in covariates
Hi, I was wondering if there is a way, or function in R to find confounders. For istance, > a = sample( c(1:3), size=10,replace=T) > X1 = factor( c('A','B','C')[a] ) > X2 = factor( c('Aa','Bb','Cc')[a] ) > Xmat = data.frame(X1,X2,rnorm(10),rnorm(10)) > dimnames(Xmat)[[2]] = c('z1','z2','z3','y') Now,
2013 Sep 04
2
Random products of rows in a matrix
Hello everybody, Without any loop and any package, I would like to return N products of M rows in a matrix A : Today, I managed to do it with a loop : B <- matrix(NA, ncol = ncol(A), nrow = 0) for (i in 1 : N) B <- rbind(B, apply(A[sample(1 : nrow(A), M, replace = T), ], 2, prod)) Do you have a solution ? Thank you in advance ! [[alternative HTML version deleted]]
2009 Mar 05
3
methods package
I'm working on the next version of coxme, one step of which is converting the bdsmatrix library from Splus to R. Actually, it is a conversion from S4 methods as first described in the Green book to S4 methods as they currently exist. Mostly it's going ok, but not entirely. 1. The biggest issue is lack of documentation. The online help pages have not been a help; they keep saying
2004 Mar 03
1
match.call(), S4
I get different results from match.call(), according to whether a function is dispatched via S3 or S4. Specifically, when I use S4 dispatch in the following example, the match.call() result is of length 1 less than I expect. I need to add an extra comma to get the same results as in the S3 method. --------example setClass("foo",representation("matrix"))
2007 Apr 13
3
apply problem
Dear R-Help I am running apply on a data.frame containing factors and numeric columns. It appears to convert are columns into as.character? Does it convert data.frame into matrix? Is this expected? I wish it to recognise numerical columns and round numbers. Can I use another function instead of apply, or should I use a for loop in the case? > summary(xmat) A B
2011 May 07
3
help!! warning:only the first element has been used
i simply want a set of numbers in a vector which: in the vector v, i want the numbers be (x[1]*x[2]*....*x[100], x[2]*x[3]*...*x[100], x[3]*x[4]*...*x[100],...,x[98]*x[99]*x[100], x[99]*x[100],x[100]) so there should be 100 elements in the vector. here's how i do it x=rnorm(100,0.5,0.2) v=prod(x[(1:100):100]) but it turns out failed as it says there are 100 elements in the expression, but only
2003 Mar 22
1
cumprod doesn't work with data frames (PR#2667)
Full_Name: J. Sisk Version: 1.6.1 OS: Linux (RedHat 8) Submission from: (NULL) (67.119.41.66) Suppose you make a data-frame like so: xxx <- data.frame(a=10,b=20,c=30,d=40) Then cumprod(xxx[1,]) returns > cumprod(xxx[1,]) a b c d 1 10 20 30 40 The documentation for cumprod says that it should work on "numerical objects", and this is a data-frame, but it