To replace particular values in a matrix we can use the following command. matrix[x,y] = value But what to do if I have a list of +- 1,000,000 values and associated x,y values. Is there an efficient way to replace my matrix with those values. My first idea was to replace x, y and values by vectors.......but that doesn't work. Value in this case can't be a vector :(. It results in a wrong replacement. It takes the last value of the matrix......... -- View this message in context: http://www.nabble.com/Replace-values-matrix-tp20562113p20562113.html Sent from the R help mailing list archive at Nabble.com.
Try something along these lines:> mat <- matrix(0, 10, 10) > x <- c(1,10,10,1) > y <- c(1,1,10,10) > z <- 1:4 > mat[ cbind(x,y) ] <- z > matHope this helps, -- Gregory (Greg) L. Snow Ph.D. Statistical Data Center Intermountain Healthcare greg.snow at imail.org 801.408.8111> -----Original Message----- > From: r-help-bounces at r-project.org [mailto:r-help-bounces at r- > project.org] On Behalf Of start > Sent: Tuesday, November 18, 2008 8:55 AM > To: r-help at r-project.org > Subject: [R] Re place values matrix > > > To replace particular values in a matrix we can use the following > command. > > matrix[x,y] = value > > But what to do if I have a list of +- 1,000,000 values and associated > x,y > values. > Is there an efficient way to replace my matrix with those values. > > My first idea was to replace x, y and values by vectors.......but that > doesn't work. > Value in this case can't be a vector :(. It results in a wrong > replacement. > It takes the last value of the matrix......... > > > -- > View this message in context: http://www.nabble.com/Replace-values- > matrix-tp20562113p20562113.html > Sent from the R help mailing list archive at Nabble.com. > > ______________________________________________ > R-help at 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.
From ?"[": "When indexing arrays by [ a single argument i can be a matrix with as many columns as there are dimensions of x" Uwe Ligges start wrote:> To replace particular values in a matrix we can use the following command. > > matrix[x,y] = value > > But what to do if I have a list of +- 1,000,000 values and associated x,y > values. > Is there an efficient way to replace my matrix with those values. > > My first idea was to replace x, y and values by vectors.......but that > doesn't work. > Value in this case can't be a vector :(. It results in a wrong replacement. > It takes the last value of the matrix......... > >
Reasonably Related Threads
- [ifelse] how to maintain a value from original matrix without probs?
- adding column of ordered numbers to matrix
- Can't Destroy Dim Names
- Heatmap without levelplot
- How to add a variable to a dataframe whose values are conditional upon the values of an existing variable