Hi, You would also make your code more efficient and possible more readable by doing
ReturnsGrid <- function(x, y, m) { x + (seq.int(m) - 1) * (y - x) / m } (xx <- ReturnsGrid(0, 9, 3)) #[1] 0 3 6 And if you want to supply vector x and y you could do something like (there are probably better ways..) ReturnsGrid <- function(x, y, m) { if (length(x) != length(y) & (length(x)==1 | length(y) == 1)) stop ("inputs not compatible") # or something n <- max(length(x), length(y)) out <- sapply(seq.int(n), function(i) x[i] + (1:m - 1) * (y[i] - x[i]) / m) drop(out) } (xx <- ReturnsGrid(0, 9, 3)) #[1] 0 3 6 (xx <- ReturnsGrid(0:2, 9:11, 3)) #[1,] 0 1 2 #[2,] 3 4 5 #[3,] 6 7 8 But it seems like you could also do it using sequence ... seq(x, y-1, by = m) HTH, Colin -----Original Message----- From: r-help-boun...@r-project.org [mailto:r-help-boun...@r-project.org] On Behalf Of Anastasia Sent: 27 November 2009 16:01 To: r-help@r-project.org Subject: [R] Simple Function doesn't work? Hello, I am new to R program, therefore, I am sorry if this is a really stupid question. I wrote a simple function and for some reason it doesn't work ReturnsGrid = function(x,y,m){ for (i in 1:m){ grid[i] <- x + (i-1)*(y-x)/m } grid } xx=ReturnsGrid(0,9,3) Thanks a lot! [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code. ______________________________________________________________________ This email has been scanned by the MessageLabs Email Security System. For more information please visit http://www.messagelabs.com/email ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.