[R] help with doing a manipulation on a column of a data frame based on another column
joris meys
jorismeys at gmail.com
Wed Oct 29 13:39:03 CET 2008
> #this is my stab at - I am sure that I am missing something. If this
> doesn't make sense then please ask for more details. #This may show
> my low level of programing knowledge
>
> hester. <- c(1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4)
> value <- rnorm(16)
> x <- data.frame(value, hester.)
>
> z <-
> (if(x[,"hester."]==1){
> x[,"value"]*6.250}
> else
> if(x[,"hester."]==2){
> x[,"value"]*3.125}
> else
> if(x[,"hester."]==3){
> x[,"value"]*2.100}
> else
> if(x[,"hester."]==4){
> x[,"value"]*1.600})
Does this do what you want?
> h <- rep(1:4,each=4)
> z <- c(6.25,3.125,2.1,1.6)[match(h,1:4)]
> x <- data.frame(hester.=h,value=z)
cheers,
Rolf Turner
---------------------------------------------
I suspect some random values should be included, making the code :
> h <- rep(1:4,each=4)
> z <- c(6.25,3.125,2.1,1.6)[match(h,1:4)]
> x <- data.frame(hester.=h,value=z*rnorm(16))
Kind regards
Joris
More information about the R-help
mailing list