Rolf gave you two ways. There are others. They all misrepresent the data (there are only two sexes but you are effectively acting as if there are three); hence the inquisition in hopes of diverting you to a more correct method of analysis. However, this is not the support forum for whatever other software you plan to proceed with so never mind. --------------------------------------------------------------------------- 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 10:15:33 AM PDT, Val <valkremk at gmail.com> wrote:>Hi Jeff, > >I thought I answered. Yes I was not clear about it. The further >analysis >will no be done by R. It is another software that will not accept a >character response variable. > >Why R is so complicated to do that. If it is SAS then I can do it on >one >statement. . > > >On Sat, Oct 31, 2015 at 11:39 AM, Jeff Newmiller ><jdnewmil at dcn.davis.ca.us> >wrote: > >> 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. >> >>
[Apologies if the message below should arrive twice. When first sent there was apparently something wrong with the email address to r-help, and it was held for moderation because "Message has implicit destination" (whatever that means). I have made sure that this time the email address is correct.] John Fox has given a neat expression to achieve the desired result! I would like to comment, however, on the somewhat insistent criticism of Val's request from several people. It can make sense to have three "sex"es. Suppose, for example, that the data are records of street crime reported by victims. The victim may be able to identify the sex of the preprator as definitely "M", or definitely "F". One of the aims of the analysis is to investgate whether there is an association between the gender of the offender and the type of crime. But in some cases the victim may not have been able to recognise the offender's sex. Then it would have to go in the record as "NA" (or equivalent). There can be two kinds of reason why the victim was unable to recognise the sex. One kind is where the victim simply did not see the offender (e.g. their purse was stolen while they were concentrating on something else, and they only found out later). Another kind is where the offender deliberately disguises their gender, so that it cannot be determined from their appearance. This second kind could be associated with a particular category of crime (and I leave it to people's lurid imaginations to think of possible examples ... ). Then one indeed has three "sex"es: Male, Female, and Indeterminate, for each of which there is a potential assoctiation with type of crime. With most analyses, however, a category of "NA" would be ignored (at least by R). And then one has a variable which is a factor with 3 levels, all of which can (as above) be meaningful), and "NA" would not be ignored. Hoping this helps to clarify! (And, Val, does the above somehow correspond to your objectives). Best wishes to all, Ted. On 31-Oct-2015 17:41:02 Jeff Newmiller wrote:> Rolf gave you two ways. There are others. They all misrepresent the data > (there are only two sexes but you are effectively acting as if there are > three); hence the inquisition in hopes of diverting you to a more correct > method of analysis. However, this is not the support forum for whatever other > software you plan to proceed with so never mind. > --------------------------------------------------------------------------- > 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 10:15:33 AM PDT, Val <valkremk at gmail.com> wrote: >>Hi Jeff, >> >>I thought I answered. Yes I was not clear about it. The further >>analysis >>will no be done by R. It is another software that will not accept a >>character response variable. >> >>Why R is so complicated to do that. If it is SAS then I can do it on >>one >>statement. . >> >> >>On Sat, Oct 31, 2015 at 11:39 AM, Jeff Newmiller >><jdnewmil at dcn.davis.ca.us> >>wrote: >> >>> 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. >>> >>> > > ______________________________________________ > 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.------------------------------------------------- E-Mail: (Ted Harding) <Ted.Harding at wlandres.net> Date: 31-Oct-2015 Time: 19:29:50 This message was sent by XFMail
Thank you very much Ted for expressing my feeling!. I am working on field data and the sex of an individual is not recorded sometimes and hence and I give it a category of NA. Thank you all for the help. On Sat, Oct 31, 2015 at 2:47 PM, Ted Harding <Ted.Harding at wlandres.net> wrote:> [Apologies if the message below should arrive twice. When first > sent there was apparently something wrong with the email address > to r-help, and it was held for moderation because "Message has > implicit destination" (whatever that means). I have made sure > that this time the email address is correct.] > > John Fox has given a neat expression to achieve the desired result! > > I would like to comment, however, on the somewhat insistent criticism > of Val's request from several people. > > It can make sense to have three "sex"es. Suppose, for example, > that the data are records of street crime reported by victims. > The victim may be able to identify the sex of the preprator > as definitely "M", or definitely "F". One of the aims of the > analysis is to investgate whether there is an association > between the gender of the offender and the type of crime. > > But in some cases the victim may not have been able to recognise > the offender's sex. Then it would have to go in the record as "NA" > (or equivalent). There can be two kinds of reason why the victim > was unable to recognise the sex. One kind is where the victim > simply did not see the offender (e.g. their purse was stolen > while they were concentrating on something else, and they only > found out later). Another kind is where the offender deliberately > disguises their gender, so that it cannot be determined from their > appearance. This second kind could be associated with a particular > category of crime (and I leave it to people's lurid imaginations > to think of possible examples ... ). > > Then one indeed has three "sex"es: Male, Female, and Indeterminate, > for each of which there is a potential assoctiation with type of crime. > With most analyses, however, a category of "NA" would be ignored > (at least by R). > > And then one has a variable which is a factor with 3 levels, all > of which can (as above) be meaningful), and "NA" would not be > ignored. > > Hoping this helps to clarify! (And, Val, does the above somehow > correspond to your objectives). > > Best wishes to all, > Ted. > > On 31-Oct-2015 17:41:02 Jeff Newmiller wrote: > > Rolf gave you two ways. There are others. They all misrepresent the data > > (there are only two sexes but you are effectively acting as if there are > > three); hence the inquisition in hopes of diverting you to a more correct > > method of analysis. However, this is not the support forum for whatever > other > > software you plan to proceed with so never mind. > > > --------------------------------------------------------------------------- > > 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 10:15:33 AM PDT, Val <valkremk at gmail.com> wrote: > >>Hi Jeff, > >> > >>I thought I answered. Yes I was not clear about it. The further > >>analysis > >>will no be done by R. It is another software that will not accept a > >>character response variable. > >> > >>Why R is so complicated to do that. If it is SAS then I can do it on > >>one > >>statement. . > >> > >> > >>On Sat, Oct 31, 2015 at 11:39 AM, Jeff Newmiller > >><jdnewmil at dcn.davis.ca.us> > >>wrote: > >> > >>> 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. > >>> > >>> > > > > ______________________________________________ > > 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. > > ------------------------------------------------- > E-Mail: (Ted Harding) <Ted.Harding at wlandres.net> > Date: 31-Oct-2015 Time: 19:29:50 > This message was sent by XFMail > ------------------------------------------------- >[[alternative HTML version deleted]]
On 31/10/2015 3:47 PM, (Ted Harding) wrote:> [Apologies if the message below should arrive twice. When first > sent there was apparently something wrong with the email address > to r-help, and it was held for moderation because "Message has > implicit destination" (whatever that means). I have made sure > that this time the email address is correct.] > > John Fox has given a neat expression to achieve the desired result! > > I would like to comment, however, on the somewhat insistent criticism > of Val's request from several people. > > It can make sense to have three "sex"es. Suppose, for example, > that the data are records of street crime reported by victims. > The victim may be able to identify the sex of the preprator > as definitely "M", or definitely "F". One of the aims of the > analysis is to investgate whether there is an association > between the gender of the offender and the type of crime. > > But in some cases the victim may not have been able to recognise > the offender's sex. Then it would have to go in the record as "NA" > (or equivalent). There can be two kinds of reason why the victim > was unable to recognise the sex. One kind is where the victim > simply did not see the offender (e.g. their purse was stolen > while they were concentrating on something else, and they only > found out later). Another kind is where the offender deliberately > disguises their gender, so that it cannot be determined from their > appearance. This second kind could be associated with a particular > category of crime (and I leave it to people's lurid imaginations > to think of possible examples ... ).I'm not convinced by your example. I'm quite happy to say that the sex is M or F or unobserved, but unobserved is not a third sex, under that model it just means "M or F but I don't know which". It is an incomplete observation, it's not a third sex. I can imagine 3 sexes in a case of multiple individuals: "all M", "all F", "mixed". I can also imagine more complicated definitions of "sex" that include more than 2 categories, but I think that's not what we're talking about here.> > Then one indeed has three "sex"es: Male, Female, and Indeterminate, > for each of which there is a potential assoctiation with type of crime. > With most analyses, however, a category of "NA" would be ignored > (at least by R).That claim is nonsense. R never ignores *anything* unless the analyst tells it to. The analyst may choose to ignore something, but don't blame R if the analyst makes a bad decision. Duncan Murdoch> And then one has a variable which is a factor with 3 levels, all > of which can (as above) be meaningful), and "NA" would not be > ignored. > > Hoping this helps to clarify! (And, Val, does the above somehow > correspond to your objectives). > > Best wishes to all, > Ted. > > On 31-Oct-2015 17:41:02 Jeff Newmiller wrote: >> Rolf gave you two ways. There are others. They all misrepresent the data >> (there are only two sexes but you are effectively acting as if there are >> three); hence the inquisition in hopes of diverting you to a more correct >> method of analysis. However, this is not the support forum for whatever other >> software you plan to proceed with so never mind. >> --------------------------------------------------------------------------- >> 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 10:15:33 AM PDT, Val <valkremk at gmail.com> wrote: >>> Hi Jeff, >>> >>> I thought I answered. Yes I was not clear about it. The further >>> analysis >>> will no be done by R. It is another software that will not accept a >>> character response variable. >>> >>> Why R is so complicated to do that. If it is SAS then I can do it on >>> one >>> statement. . >>> >>> >>> On Sat, Oct 31, 2015 at 11:39 AM, Jeff Newmiller >>> <jdnewmil at dcn.davis.ca.us> >>> wrote: >>> >>>> 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. >>>> >>>> >> >> ______________________________________________ >> 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. > > ------------------------------------------------- > E-Mail: (Ted Harding) <Ted.Harding at wlandres.net> > Date: 31-Oct-2015 Time: 19:29:50 > This message was sent by XFMail > > ______________________________________________ > 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. >
Ted: You are either being deliberately obtuse or playing Devil's advocate or just stirring. It is clear from his/her posts that the OP has limited understanding of both R and statistics. Your sophisticated philosophising about the possibility of "three sexes" is very unlikely to have anything to do with what the OP wishes to accomplish. The advice requested was not about how to treat "NA" as a "third sex" but about how to convert categorical data coded as NA, "M", and "F" to numeric. Which cannot possibly be a good idea. It is not productive to encourage the OP to persist with wrong-headed notions. Instead he or she should be encouraged to get to grips with the real issues of the analysis and to understand that treating categorical data as numeric is a recipe for disaster. cheers, Rolf -- Technical Editor ANZJS Department of Statistics University of Auckland Phone: +64-9-373-7599 ext. 88276 On 01/11/15 08:47, Ted Harding wrote:> [Apologies if the message below should arrive twice. When first > sent there was apparently something wrong with the email address > to r-help, and it was held for moderation because "Message has > implicit destination" (whatever that means). I have made sure > that this time the email address is correct.] > > John Fox has given a neat expression to achieve the desired result! > > I would like to comment, however, on the somewhat insistent criticism > of Val's request from several people. > > It can make sense to have three "sex"es. Suppose, for example, > that the data are records of street crime reported by victims. > The victim may be able to identify the sex of the preprator > as definitely "M", or definitely "F". One of the aims of the > analysis is to investgate whether there is an association > between the gender of the offender and the type of crime. > > But in some cases the victim may not have been able to recognise > the offender's sex. Then it would have to go in the record as "NA" > (or equivalent). There can be two kinds of reason why the victim > was unable to recognise the sex. One kind is where the victim > simply did not see the offender (e.g. their purse was stolen > while they were concentrating on something else, and they only > found out later). Another kind is where the offender deliberately > disguises their gender, so that it cannot be determined from their > appearance. This second kind could be associated with a particular > category of crime (and I leave it to people's lurid imaginations > to think of possible examples ... ). > > Then one indeed has three "sex"es: Male, Female, and Indeterminate, > for each of which there is a potential assoctiation with type of crime. > With most analyses, however, a category of "NA" would be ignored > (at least by R). > > And then one has a variable which is a factor with 3 levels, all > of which can (as above) be meaningful), and "NA" would not be > ignored. > > Hoping this helps to clarify! (And, Val, does the above somehow > correspond to your objectives). > > Best wishes to all, > Ted