[R] recoding question

Petr Klasterecky klaster at karlin.mff.cuni.cz
Sun Mar 11 15:03:31 CET 2007


Hi,
I suppose you wouldn't mind rearranging rows in your dataframe. So just 
use order() to sort your dataframe according to category (first) and 
points (second). Now add a new column with values 
(3,2,1,0,...,0,3,2,1,0...etc.) You can construct such vector using by() 
  or a simple for-loop. There will always be rep(0, n_i-3) if n_i is the 
number of observatons in category i.

If you do mind rearranging rows, keep the original permutation stored 
elsewhere a use order again in the end to restoring it back.

Petr


Lauri Nikkinen napsal(a):
> Hi R-users,
> 
> 
> I have a data frame like this:
> 
> photographer category picture points
> Hannu kalat limamikko 1
> Teemu kalat verkkovaja 3
> Hate kalat munat puoliks padassa 6
> Hannu kalat isokala 8
> Teemu kasvit, sienet ja muut eliöt harppi 2
> Hate kasvit, sienet ja muut eliöt pyynikki 2
> Petteri kasvit, sienet ja muut eliöt harmaaleppä 5
> Lauri kasvit, sienet ja muut eliöt lumipuu 9
> Teemu linnut kainostelua 1
> Petteri linnut viileä harakka 2
> Lauri linnut hipö 3
> Teemu linnut pinnalla 5
> Lassi linnut elämän viiva 7
> Lassi nisäkkäät pedot 1
> Teemu nisäkkäät Homo sapiens angelus 3
> Hate nisäkkäät madekoukkujen suojelupyhimys 3
> Lassi nisäkkäät portsan kundi 3
> Hannu nisäkkäät maukasta marmeladia 8
> Teemu reissut puikot 1
> Lassi reissut ajatelkaa, jos Häntä ei olisikaan 2
> Lauri reissut kökar 3
> Hate reissut matka aikaan joka ei enää palaa 3
> Hannu reissut skrinnareita 4
> Lauri reissut jääpuut 5
> Hannu selkärangattomat kaapin alta löytynyt 2
> Hate selkärangattomat vailla armeerausta 2
> Teemu selkärangattomat portinvartija 6
> Hannu selkärangattomat kaapin alta löytynyt2 8
> 
> 
> I want to make a new column named as "final_points" to the data frame that
> has numbers following this kind of logic: the highest number in column
> "points" in each category will receive a number 3 into new column
> "final_points". The second highest number will receive a number 1 into
> "final_points" column. Others will receive a 0. Here is how it should look
> like after the code has been run:
> 
> 
> 
> photographer category picture points final_points
> Hannu kalat limamikko 1 0
> Teemu kalat verkkovaja 3 0
> Hate kalat munat puoliks padassa 6 1
> Hannu kalat isokala 8 3
> Teemu kasvit, sienet ja muut eliöt harppi 2 0
> Hate kasvit, sienet ja muut eliöt pyynikki 2 0
> Petteri kasvit, sienet ja muut eliöt harmaaleppä 5 1
> Lauri kasvit, sienet ja muut eliöt lumipuu 9 3
> Teemu linnut kainostelua 1 0
> Petteri linnut viileä harakka 2 0
> Lauri linnut hipö 3 0
> Teemu linnut pinnalla 5 1
> Lassi linnut elämän viiva 7 3
> Lassi nisäkkäät pedot 1 0
> Teemu nisäkkäät Homo sapiens angelus 3 1
> Hate nisäkkäät madekoukkujen suojelupyhimys 3 1
> Lassi nisäkkäät portsan kundi 3 1
> Hannu nisäkkäät maukasta marmeladia 8 3
> Teemu reissut puikot 1 0
> Lassi reissut ajatelkaa, jos Häntä ei olisikaan 2 0
> Lauri reissut kökar 3 0
> Hate reissut matka aikaan joka ei enää palaa 3 0
> Hannu reissut skrinnareita 4 1
> Lauri reissut jääpuut 5 3
> Hannu selkärangattomat kaapin alta löytynyt 2 0
> Hate selkärangattomat vailla armeerausta 2 0
> Teemu selkärangattomat portinvartija 6 1
> Hannu selkärangattomat kaapin alta löytynyt2 8 3
> 
> 
> 
> How do I do this with R?
> 
> 
> 
> -Lauri
> 
> 	[[alternative HTML version deleted]]
> 
> 
> 
> ------------------------------------------------------------------------
> 
> ______________________________________________
> R-help at 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
> and provide commented, minimal, self-contained, reproducible code.

-- 
Petr Klasterecky
Dept. of Probability and Statistics
Charles University in Prague
Czech Republic



More information about the R-help mailing list