From: Gavin Simpson <gavin.simpson_at_ucl.ac.uk>

Date: Wed, 30 Jan 2008 20:05:14 +0000

## don't need cbind here &

## data is not a good name, use something else df <- data.frame(grid.id, lat, species1, species2, species3)

Date: Wed, 30 Jan 2008 20:05:14 +0000

hits=-2.6 tests=BAYES_00

X-USF-Spam-Flag: NO

Hi Christian,

Use the fact that 0 * lat[i] == 0 and 1 * lat[i] == lat[i], where lat[i] is one of your lat values. Also use the fact that R is vectorized.

So we have:

grid.id<-c(1:4)

lat<-c(10,12,13,15) species1<-c(0,0,0,1) species2<-c(1,1,0,0) species3<-c(1,1,1,1)

## don't need cbind here &

## data is not a good name, use something else df <- data.frame(grid.id, lat, species1, species2, species3)

So to get what you want:

df[,-(1:2)] * df$lat

and if you want to assign this into df to make the change permanent:

df[,-(1:2)] <- df[,-(1:2)] * df$lat

We drop the first two columns so you don't need to know how many species you have, just that there are two columns we don't want to mess with.

**HTH
**
G

On Wed, 2008-01-30 at 19:47 +0100, Christian Hof wrote:

> Dear all,

*> maybe somebody can provide some help for this problem:
**>
**> Example:
**> I've got the following dataframe "data":
**>
**> grid.id<-c(1:4)
**> lat<-c(10,12,13,15)
**> species1<-c(0,0,0,1)
**> species2<-c(1,1,0,0)
**> species3<-c(1,1,1,1)
**> data<-data.frame(cbind(grid.id,lat,species1,species2,species3))
**>
**> How can I, out of "data" make a new dataframe, where the cells of value
**> "1" in the species columns ("species1" to "species3") are replaced by
**> the respective "lat" values automatically - so that the final dataframe
**> looks like this:
**>
**> specieslat1<-c(0,0,0,15)
**> specieslat2<-c(10,12,0,0)
**> specieslat3<-c(10,12,13,15)
**> data.frame(cbind(grid.id,lat,specieslat1,specieslat2,specieslat3))
**>
**> ?
**>
**> Thanks a lot,
**> cheers
**> Christian
**>
*

-- %~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~% Dr. Gavin Simpson [t] +44 (0)20 7679 0522 ECRC, UCL Geography, [f] +44 (0)20 7679 0565 Pearson Building, [e] gavin.simpsonATNOSPAMucl.ac.uk Gower Street, London [w] http://www.ucl.ac.uk/~ucfagls/ UK. WC1E 6BT. [w] http://www.freshwaters.org.uk %~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~% ______________________________________________ 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.Received on Wed 30 Jan 2008 - 20:22:22 GMT

Archive maintained by Robert King, hosted by
the discipline of
statistics at the
University of Newcastle,
Australia.

Archive generated by hypermail 2.2.0, at Wed 30 Jan 2008 - 21:30:09 GMT.

*
Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help.
Please read the posting
guide before posting to the list.
*