[R] Vary an equation using values from a sequence
David L Carlson
dcarlson at tamu.edu
Wed Mar 21 15:32:12 CET 2018
It depends a bit on what you plan to do with the results. A loop would be easy and straightforward:
> k <- 1:5
> for(k in 1:5) print(Data - min(Data) + k)
[1] 1 2 3 4 5 6 7 8 9 10
[1] 2 3 4 5 6 7 8 9 10 11
[1] 3 4 5 6 7 8 9 10 11 12
[1] 4 5 6 7 8 9 10 11 12 13
[1] 5 6 7 8 9 10 11 12 13 14
Or you can use sapply() to hide the loop:
> sapply(1:5, function(k) Data - min(Data) + k)
[,1] [,2] [,3] [,4] [,5]
[1,] 1 2 3 4 5
[2,] 2 3 4 5 6
[3,] 3 4 5 6 7
[4,] 4 5 6 7 8
[5,] 5 6 7 8 9
[6,] 6 7 8 9 10
[7,] 7 8 9 10 11
[8,] 8 9 10 11 12
[9,] 9 10 11 12 13
[10,] 10 11 12 13 14
This is more compact if you are planning to save the results, e.g.
> output <- sapply(1:5, function(k) Data - min(Data) + k)
As opposed to using the loop:
> output <- matrix(NA, length(k), length(Data)) for (i in seq_along(k))
> output[i, ] <- Data - min(Data) + k[i] output
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,] 1 2 3 4 5 6 7 8 9 10
[2,] 2 3 4 5 6 7 8 9 10 11
[3,] 3 4 5 6 7 8 9 10 11 12
[4,] 4 5 6 7 8 9 10 11 12 13
[5,] 5 6 7 8 9 10 11 12 13 14
----------------------------------------
David L Carlson
Department of Anthropology
Texas A&M University
College Station, TX 77843-4352
-----Original Message-----
From: R-help <r-help-bounces at r-project.org> On Behalf Of Jake William Andrae
Sent: Wednesday, March 14, 2018 11:14 PM
To: R-help <r-help at r-project.org>
Subject: [R] Vary an equation using values from a sequence
Hi All,
I have a vector of data on which I am operating. The equation with which I want to operate on the vector has a value k. I want to run the equation and output a new vector, each time replacing k with each value from the sequence I defined. I have thought about using for loops and such, but this seems like overkill. I am wondering if there is a simple solution that would allow me to accomplish this.
The code I am using is outlined below.
Data <- c(1:10) #Data
value <- seq(from = 0, to = 100 , by = 0.01) #Sequence Data - min(Data) + k # Equation
Thanks,
Jake
Jake Andrae
PhD Candidate
Geology & Geophysics Sprigg Geobiology Centre Department of Earth Science School of Physical Sciences The University of Adelaide, AUSTRALIA 5005
Phone: 0407701565
Email: jake.andrae at adelaide.edu.au
[[alternative HTML version deleted]]
More information about the R-help
mailing list