[R] adding column to data frame conditionally

Kristina Schmitz Krische at hsu-hh.de
Thu May 27 11:45:57 CEST 2010


Dear Thierry,
thank you so much!






Quoting "ONKELINX, Thierry" <Thierry.ONKELINX at inbo.be>:

> Dear Kristina,
>
> Use ifelse(). Note that you must use '==' to test for equality. '=' is
> an assignment.
>
> Freqg$condition <- with(freqg, ifelse(mat==1 & flank==1, 1, ifelse(mat
> == 2 & flank == 1, 2, NA)))
>
> HTH,
>
> 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 Kristina Schmitz
>> Verzonden: donderdag 27 mei 2010 11:33
>> Aan: r-help at r-project.org
>> Onderwerp: [R] adding column to data frame conditionally
>>
>> Dear all and thanks in advance for helping me with a rather
>> stupid question:
>> I imported a data set ("freqg") into R consisting of 14
>> variables. Now a want to compute a variable and add it in an
>> additional column to my data frame. The value of this new
>> variable ("condition") depends on the values of two other
>> variables ("mat" and "flank") already included in the data frame.
>> For example:
>> if mat=1 and flank=1 -> condition=1
>> if mat=2 and flank=1 -> condition=2
>> ...
>>
>> What I got is this code, which doesn't really work (it
>> results in a new column called "condition" which takes only
>> the value "TRUE"):
>>
>> freqg<-transform(freqg,condition=(mat=1)&(flank=1))
>>
>> Thanks in advance and kind regards!
>>
>> ______________________________________________
>> 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.
>>
>
> Druk dit bericht a.u.b. niet onnodig af.
> Please do not print this message unnecessarily.
>
> Dit bericht en eventuele bijlagen geven enkel de visie van de schrijver weer
> en binden het INBO onder geen enkel beding, zolang dit bericht niet  
> bevestigd is
> door een geldig ondertekend document. The views expressed in  this message
> and any annex are purely those of the writer and may not be regarded  
> as stating
> an official position of INBO, as long as the message is not  
> confirmed by a duly
> signed document.
>



More information about the R-help mailing list