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 <jrkrid...@inbox.com> wrote: > In line. > > John Kane > Kingston ON Canada > > > > -----Original Message----- > > From: valkr...@gmail.com > > Sent: Fri, 30 Oct 2015 20:40:03 -0500 > > To: istaz...@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 <istaz...@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 <valkr...@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@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@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@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.