I am trying to apply the solution you mentioned to all columns in a matrix, and output the results to another matrix and append the two using the cbind function.
I have written something that works, using a nested For loop to go through all the cells in the target matrix, but the trouble is that the process takes a while to run (3-4 mins). The matrix is large, about 2000 by 10000, so this could be a reason for the slow speed. However, I'm convinced there is a faster way of applying this mapping procedure to all columns in a matrix and outoutting into columns in a separate matrix. I would be grateful for any suggestions on this slight modification. Otherwise, I can make do with my version. Thanks, rcoder rcoder wrote: > > Thank you Ben! This is very clear. > rcoder > > > Ben Tupper wrote: >> >> >> On Jul 15, 2008, at 5:16 PM, rcoder wrote: >> >>> >>> Hi Ben, >>> Yes, this is more or less what I want to do. I want to apply this >>> data in >>> columns in a matrix, and insert the results to additional columns. >>> I am not >>> entirely aware of a good way of doing this. >>> >>> e.g. take data from column B, apply normalisation, and feed output >>> into >>> column C >>> >> >> Oh, >> >> I think you want to use cbind() to add columns to a matrix. Perhaps >> like this which works with the second column... >> >> v <- matrix(data = rnorm(100), nrow = 10, ncol = 10) >> mm <- range(v[,2]) >> s <- 10 * (v[,2]-mm[1])/(mm[2]-mm[1]) >> v2 <- cbind(v, s) >> >> Cheers, >> Ben >> >> >> >>> Thanks, >>> >>> rcoder >>> >>> >>> >>> Ben Tupper wrote: >>>> >>>> >>>> On Jul 15, 2008, at 8:16 AM, rcoder wrote: >>>> >>>>> >>>>> Hi everyone, >>>>> >>>>> I want to score a set of data (-ve to +ve) using a 0-10 scale. I >>>>> have the >>>>> data in an R matrix, so I need to add another column, containing >>>>> the scores >>>>> and resave. >>>>> >>>> >>>> Hi, >>>> >>>> I am a little fuzzy on what you are asking, but my guess is that you >>>> want to normalize the data into the 0-1 range then multiply by 10. >>>> >>>> values <- rnorm(10) #some numbers >>>> mm <- range(values) #the minmax range >>>> scaled <- (values-mm[1])/(mm[2]-mm[1]) #normalize into 0-1 >>>> scaled10 <- 10 * scaled #scale 0-10 >>>> >>>> Is that what you seek? >>>> Ben >>>> >>>> ______________________________________________ >>>> 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. >>>> >>>> >>> >>> -- >>> View this message in context: http://www.nabble.com/Mapping-data- >>> onto-score-tp18463695p18475083.html >>> Sent from the R help mailing list archive at Nabble.com. >>> >>> ______________________________________________ >>> 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. >> >> Ben Tupper >> [EMAIL PROTECTED] >> >> I GoodSearch for Ashwood Waldorf School. >> >> Raise money for your favorite charity or school just by searching the >> Internet with GoodSearch - www.goodsearch.com - powered by Yahoo! >> >> ______________________________________________ >> 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. >> >> > > -- View this message in context: http://www.nabble.com/Mapping-data-onto-score-tp18463695p18494272.html Sent from the R help mailing list archive at Nabble.com. ______________________________________________ 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.