Re: [R] appending

From: Martin Henry H. Stevens <HStevens_at_muohio.edu>
Date: Thu 15 Jun 2006 - 20:59:48 EST

Hi Dave,
Does this do what you want?
Hank

comp.CAND.frm <- read.table("comp.CAND.frm.frm", header=TRUE) names(comp.CAND.frm) <- make.names(gsub("_", ".", names (comp.CAND.frm)), unique=TRUE)

creatine.function.new = function(delta.0.Y.0=50, gamma=40,

   dat=comp.CAND.frm) {
## function to calcuate the delta.i, i.e. the percent
## leftover ## gamma = rate of Cr going into bucket, e.g., mg/hr
## delta.0.Y.0 = product of delta.0 and Y.0 at baseline ##

##
unlist(

        tapply(dat$Ucr, dat$Patient.no, function(Cs) {    n.obs <- length(Cs)
   Y=numeric(n.obs+1)
   Y[1] = delta.0.Y.0 + gamma
   delta = numeric(n.obs)

		for (i in 1:n.obs) delta[i] <- {
		d <- (Y[i] - Cs[i])/Y[i]
                 Y[i+1] = delta[i] * Y[i] + gamma
                 d
		}
              delta}
             )
        )

}
dim(comp.CAND.frm)
6*24
creatine.function.new()
### The names are the concatenation of the patient and the observation ## e.g. patient 24 observation 6 is labeled 246.

On Jun 14, 2006, at 2:35 PM, Afshartous, David wrote:

> Hank,
> Attached is the dataframe that can be supplied for the argument
> comp.CAND.frm.  The argument for comp.LIS.frm can be deleted since
> it currently isn't used.   The other arguments can be set as:
> delta.0.Y.0 = 50
> gamma = 40.
> cheers,
> dave
>
>
>
>
> -----Original Message-----
> From: Martin Henry H. Stevens [mailto:HStevens@MUOhio.edu]
> Sent: Wednesday, June 14, 2006 1:23 PM
> To: Afshartous, David
> Cc: r-help@stat.math.ethz.ch
> Subject: Re: [R] appending
>
> Hi David,
> It would be helpful if you supply a little data, upon which this would
> operate.
> Hank
> On Jun 14, 2006, at 12:31 PM, Afshartous, David wrote:
>
>>  All,
>>
>> In the function below I have 24 individuals and 6 calculations per
>> individual.
>> The 6 calculations are collected each time in a 1:24 loop when
>> calculating "delta".
>>
>> I'd like to collect all 144 = 24*6 calculations in one vector
>> ("delta.patient.comb").
>> The function works as is via indexing, but is there an easier way to
>> collect the measurements via appendinng the 6 measurements each time
>> to the current set?  I couldn't find anything in Intro to R on
>> appending.
>>
>> cheers,
>> Dave
>> ps - please respond directly to afshar@miami.edu
>>
>>
>>
>> creatine.function.new = function(delta.0.Y.0, gamma, comp.LIS.frm,
>> comp.CAND.frm) { ## function to calcuate the delta.i, i.e. the  
>> percent
>
>> ## leftover ## gamma = rate of Cr going into bucket, e.g., mg/hr ##
>> delta.0.Y.0 = product of delta.0 and Y.0 at baseline ##
>> Y.1 = delta.0.Y.0 + gamma
>> delta = numeric(6)
>> delta.patient = numeric(24)
>> delta.patient.comb = numeric(144)
>> ##
>> 	for (k in 1:24) {		## each patient
>> 		patient.k.CAND = which(comp.CAND.frm$Patient_no == k)
>> 		Ucr.CAND.patient.k = comp.CAND.frm$Ucr[patient.k.CAND]
>> 		C = Ucr.CAND.patient.k  ## 6 observed creatanine values
> for each
>> patient
>> 		delta[1] = (Y.1 - C[1])/Y.1
>> 		Y.i = Y.1
>> 		delta.i = delta[1]
>> 		for (i in 1:5) {		## six measurments per
>> patient
>> 			Y.i.plus.1 = delta.i * Y.i + gamma
>> 			delta.i.plus.1 = (Y.i.plus.1 -
>> C[i+1])/Y.i.plus.1
>> 			delta[i+1] = delta.i.plus.1
>> 			delta.i = delta[i+1]
>> 			Y.i = Y.i.plus.1
>> 		}
>> 		delta.patient[k] = list(delta)	
>> 		delta.patient.comb[(6*(k-1)+1):(6*(k-1)+ 6)] = delta
>> 	}
>> list(delta.patient, delta.patient.comb) }
>>
>> ______________________________________________
>> R-help@stat.math.ethz.ch mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-help
>> PLEASE do read the posting guide! http://www.R-project.org/posting-
>> guide.html
>
> Dr. M. Hank H. Stevens, Assistant Professor
> 338 Pearson Hall
> Botany Department
> Miami University
> Oxford, OH 45056
>
> Office: (513) 529-4206
> Lab: (513) 529-4262
> FAX: (513) 529-4243
> http://www.cas.muohio.edu/~stevenmh/
> http://www.muohio.edu/ecology/
> http://www.muohio.edu/botany/
> "E Pluribus Unum"
>
>
>
>
> <comp.CAND.frm.frm>

Dr. M. Hank H. Stevens, Assistant Professor 338 Pearson Hall
Botany Department
Miami University
Oxford, OH 45056

Office: (513) 529-4206
Lab: (513) 529-4262
FAX: (513) 529-4243

http://www.cas.muohio.edu/~stevenmh/
http://www.muohio.edu/ecology/
http://www.muohio.edu/botany/

"E Pluribus Unum"

R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html Received on Thu Jun 15 21:03:29 2006

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.1.8, at Thu 15 Jun 2006 - 22:10:49 EST.

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