[R] If else

Jeff Newmiller jdnewmil at dcn.davis.CA.us
Sat Oct 31 17:39:54 CET 2015


You haven't actually answered John's question as to the type of analysis you plan to do. It still looks from here like you should be using factor data rather than numeric, but since you are not being clear we cannot give specifics as to how to proceed.
---------------------------------------------------------------------------
Jeff Newmiller                        The     .....       .....  Go Live...
DCN:<jdnewmil at dcn.davis.ca.us>        Basics: ##.#.       ##.#.  Live Go...
                                      Live:   OO#.. Dead: OO#..  Playing
Research Engineer (Solar/Batteries            O.O#.       #.O#.  with
/Software/Embedded Controllers)               .OO#.       .OO#.  rocks...1k
--------------------------------------------------------------------------- 
Sent from my phone. Please excuse my brevity.

On October 31, 2015 8:23:05 AM PDT, Val <valkremk at gmail.com> wrote:
>Hi All,
>
>
>Yes I need  to change to numeric  because I am preparing a data set 
>for
>further  analysis. The variable to be changed  from character to
>numeric
>(in this case, sex) will be a response variable.  Some records have
>missing
>observation on sex and it is blank.
>     id  sex
>      1
>      2
>      3  M
>      4  F
>      5  M
>      6  F
>      7  F
>
>I am reading the data like this
>
>mydata <- read.csv(header=TRUE, text=', sep=", ")
>     id  sex
>      1   NA
>      2  NA
>      3  M
>      4  F
>      5  M
>      6  F
>      7  F
>
>The  data set is huge   (>250,000)
>
>
>I want the output like this
>
>     id  sex    sex1
>      1   NA    0
>      2  NA     0
>      3  M       1
>      4  F       2
>      5  M      1
>      6  F       2
>      7  F       2
>
>Thank you in advance
>
>
>On Sat, Oct 31, 2015 at 5:59 AM, John Kane <jrkrideau at inbox.com> wrote:
>
>> In line.
>>
>> John Kane
>> Kingston ON Canada
>>
>>
>> > -----Original Message-----
>> > From: valkremk at gmail.com
>> > Sent: Fri, 30 Oct 2015 20:40:03 -0500
>> > To: istazahn at gmail.com
>> > Subject: Re: [R] If else
>> >
>> > I am trying to change the mydata$sex  from character to numeric
>>
>> Why?
>>  As Ista (mydata$confusingWillCauseProblemsLater) has pointed out
>this is
>> a very unusual thing to do in R.
>>
>> Is there a very specific reason for doing this in your analysis.
>> Otherwise it may better to leave the coding as NA. Some of the data
>mungers
>> here may be able to suggest which is the best strategy in R.
>>
>> R is 'weird' compared to more mundane stats packages such as SAS or
>SPSS
>> and common techniques that one would use with them often are not
>> appropriate in R.
>>
>>
>>
>>
>> > I want teh out put like
>> >    id  sex
>> >       1  NA   0
>> >       2  NA   0
>> >       3  M     1
>> >       4  F     2
>> >       5  M    1
>> >       6  F     2
>> >       7  F    2
>> >
>> > mydata$sex1 <- 0
>> > if(mydata$sex =="M " ){
>> >   mydata$sex1<-1
>> > } else {
>> >   mydata$sex1<-2
>> > }
>> >
>> > mydata$sex1
>> >
>> > Warning message:In if (mydata$sex == "M ") { :
>> >   the condition has length > 1 and only the first element will be
>> > used> mydata$sex1[1] 2 2 2 2 2 2 2 2
>> >
>> >>
>> >
>> >
>> > On Fri, Oct 30, 2015 at 8:28 PM, Ista Zahn <istazahn at gmail.com>
>wrote:
>> >
>> >> Using numeric for missing sounds like asking for trouble. But if
>you
>> >> must, something like
>> >>
>> >> mydata$confusingWillCauseProblemsLater <-
>> >>   ifelse(
>> >>     is.na(mydata$sex),
>> >>     0,
>> >>     as.numeric(factor(mydata$sex,
>> >>                       levels = c("M", "F"))))
>> >>
>> >> should do it.
>> >>
>> >> Best,
>> >> Ista
>> >>
>> >> On Fri, Oct 30, 2015 at 9:15 PM, Val <valkremk at gmail.com> wrote:
>> >>> Hi all,
>> >>> Iam trying to change character  to numeric but have probelm
>> >>>
>> >>> mydata <- read.table(header=TRUE, text=', sep=" "
>> >>>      id  sex
>> >>>       1  NA
>> >>>       2  NA
>> >>>       3  M
>> >>>       4  F
>> >>>       5  M
>> >>>       6  F
>> >>>       7  F
>> >>>        ')
>> >>>
>> >>> if sex is missing then sex=0;
>> >>> if sex is"M" then sex=1;
>> >>> if sex is"F" then sex=2;
>> >>>
>> >>> Any help please ?
>> >>>
>> >>>         [[alternative HTML version deleted]]
>> >>>
>> >>> ______________________________________________
>> >>> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
>> >>> 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.
>> >>
>> >
>> >       [[alternative HTML version deleted]]
>> >
>> > ______________________________________________
>> > R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
>> > 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.
>>
>> ____________________________________________________________
>> FREE 3D MARINE AQUARIUM SCREENSAVER - Watch dolphins, sharks & orcas
>on
>> your desktop!
>> Check it out at http://www.inbox.com/marineaquarium
>>
>>
>>
>
>	[[alternative HTML version deleted]]
>
>______________________________________________
>R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
>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.



More information about the R-help mailing list