Re: [R] increase a value by each group?

From: Ortiz, John <OrtizJ_at_si.edu>
Date: Mon, 14 Mar 2011 11:47:29 -0400

Hi Tierry,

Thanks for your answer, that is very close to I'm looking, but there are this difference:

whit your code I get this:

Depth s_name indice Im_looking

3852    Site_1  144     3852.01
3852    Site_1  144     3852.01
3852    Site_1  144     3852.01
3852    site_A  145     3852.02
3852    site_A  145     3852.02
3852    site_A  145     3852.02
3852    site_A  145     3852.02
3852    site_B  147     3852.03
3852    site_B  147     3852.03
3852    site_B  147     3852.03
3852    site_B  147     3852.03
54962   site_C  27      54962.04
54962   site_C  27      54962.04
54962   Site_D  217     54962.05
54962   Site_D  217     54962.05
54962   Site_D  217     54962.05
54962   Site_D  217     54962.05


I need that when the depth change, the increase start with .01 again. Please cheek in my example the last 8 rows. (attach to the end)

Maybe you have another possible solution?

Thanks again,

John Ortiz

Depth s_name indice Im_looking

3852    Site_1  144     3852.01
3852    Site_1  144     3852.01
3852    Site_1  144     3852.01
3852    site_A  145     3852.02
3852    site_A  145     3852.02
3852    site_A  145     3852.02
3852    site_A  145     3852.02
3852    site_B  147     3852.03
3852    site_B  147     3852.03
3852    site_B  147     3852.03
3852    site_B  147     3852.03
54962   site_C  27      54962.01
54962   site_C  27      54962.01
54962   Site_D  217     54962.02
54962   Site_D  217     54962.02
54962   Site_D  217     54962.02
54962   Site_D  217     54962.02

________________________________________
From: ONKELINX, Thierry [Thierry.ONKELINX_at_inbo.be] Sent: Monday, March 14, 2011 9:59 AM
To: Ortiz, John; r-help_at_r-project.org
Subject: RE: increase a value by each group?

Something like this?

my_data=read.table("clipboard", header=TRUE) my_data$s_name <- factor(my_data$s_name) library(plyr)
ddply(my_data, .(s_name), function(x){

        x$Im_looking <- x$Depth + as.numeric(x$s_name) / 100
        x

})

Best regards,

Thierry



ir. Thierry Onkelinx
Instituut voor natuur- en bosonderzoek
team Biometrie & Kwaliteitszorg
Gaverstraat 4
9500 Geraardsbergen
Belgium

Research Institute for Nature and Forest team Biometrics & Quality Assurance
Gaverstraat 4
9500 Geraardsbergen
Belgium

tel. + 32 54/436 185
Thierry.Onkelinx_at_inbo.be
www.inbo.be

To call in the statistician after the experiment is done may be no more than asking him to perform a post-mortem examination: he may be able to say what the experiment died of. ~ Sir Ronald Aylmer Fisher

The plural of anecdote is not data.
~ Roger Brinner

The combination of some data and an aching desire for an answer does not ensure that a reasonable answer can be extracted from a given body of data. ~ John Tukey

> -----Oorspronkelijk bericht-----
> Van: r-help-bounces_at_r-project.org
> [mailto:r-help-bounces_at_r-project.org] Namens Ortiz, John
> Verzonden: maandag 14 maart 2011 15:18
> Aan: r-help_at_r-project.org
> Onderwerp: [R] increase a value by each group?
>
>
> Hi everybody.
>
> I'm looking for the way to increase the depth value in 0.01
> for each index group.
> Easier to explain with this example:
>
>
> >my_data=read.table("clipboard", header=TRUE)
>
> Depth s_name index
> 3852 Site_1 144
> 3852 Site_1 144
> 3852 Site_1 144
> 3852 site_A 145
> 3852 site_A 145
> 3852 site_A 145
> 3852 site_A 145
> 3852 site_B 147
> 3852 site_B 147
> 3852 site_B 147
> 3852 site_B 147
> 54962 site_C 27
> 54962 site_C 27
> 54962 Site_D 217
> 54962 Site_D 217
> 54962 Site_D 217
> 54962 Site_D 217
>
> I'm looking for something like that (four column)
>
> Depth s_name index Im_looking
> 3852 Site_1 144 3852.01
> 3852 Site_1 144 3852.01
> 3852 Site_1 144 3852.01
> 3852 site_A 145 3852.02
> 3852 site_A 145 3852.02
> 3852 site_A 145 3852.02
> 3852 site_A 145 3852.02
> 3852 site_B 147 3852.03
> 3852 site_B 147 3852.03
> 3852 site_B 147 3852.03
> 3852 site_B 147 3852.03
> 54962 site_C 27 54962.01
> 54962 site_C 27 54962.01
> 54962 Site_D 217 54962.02
> 54962 Site_D 217 54962.02
> 54962 Site_D 217 54962.02
> 54962 Site_D 217 54962.02
>
>
> Currently I found the way to increase the depth but not like I need,
>
> tave = my_data$Depth + (ave(my_data$Depth, my_data$index,
> FUN=seq_along))/100
>
> Depth s_name index test
> 3852 Site_1 144 3852.01
> 3852 Site_1 144 3852.02
> 3852 Site_1 144 3852.03
> 3852 site_A 145 3852.01
> 3852 site_A 145 3852.02
> 3852 site_A 145 3852.03
> 3852 site_A 145 3852.04
> 3852 site_B 147 3852.01
> 3852 site_B 147 3852.02
> 3852 site_B 147 3852.03
> 3852 site_B 147 3852.04
> 54962 site_C 27 54962.01
> 54962 site_C 27 54962.02
> 54962 Site_D 217 54962.01
> 54962 Site_D 217 54962.02
> 54962 Site_D 217 54962.03
> 54962 Site_D 217 54962.04
>
>
> I'm looking to increase all index group, not just each element.
>
> Thanks in advance,
>
> John Ortiz
>
> ______________________________________________
> 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.
>



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 Mon 14 Mar 2011 - 15:54:27 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 Mon 14 Mar 2011 - 16:00:22 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.

list of date sections of archive