Sorry, I was unclear. The comment after the second should be: z[ ,a] # the column of z whose name is the value of the object a
-- Bert On Mon, Jun 20, 2011 at 9:38 AM, Bert Gunter <bgun...@gene.com> wrote: > Ben: > > 1. One doesn't ask questions like this. Syntax is syntax. > > 2. This has nothing to do with paste; it's the syntax of "[" , > subscripting/extraction > > 3. But it does make sense: > > a <- "b" > z <- data.frame(a=1:3, b=4:6) > z[ ,"a"] # the "a" column of z > z[ ,a] # the column of z with the value of the object a > > HTH, > > -- Bert > > > On Mon, Jun 20, 2011 at 9:21 AM, Ben Ganzfried <ben.ganzfr...@gmail.com> > wrote: >> Thanks! Very glad you pointed me to the paste function, it looks very >> helpful. >> >> I have a quick follow-up after reading through the online tutorial on the >> "paste" function: >> >> Why do we need quotation marks around "Major Gleason" and "Minor Gleason" >> in: output = paste(df [,'Major.Gleason'], df[ ,'Minor.Gleason'], sep='+')? >> The "paste" function is going to concatenate the first and second parameters >> and separate them by the "+" sign, so I'm not clear why we need to put >> quotation marks around the dataframe column headers... >> >> Thanks, >> >> Ben >> >> >> On Mon, Jun 20, 2011 at 11:58 AM, David Winsemius >> <dwinsem...@comcast.net>wrote: >> >>> >>> On Jun 20, 2011, at 11:47 AM, Luke Miller wrote: >>> >>> If we assume that your data are in a data frame (which doesn't allow >>>> spaces in column names, hence the periods in the call below): >>>> >>>> df = data.frame(Major.Gleason = c(4,5,2,3), Minor.Gleason = c(3,2,4,3)) >>>>> >>>> >>>> You can paste together the contents of the two columns with a plus >>>> sign in between using the paste() function. The sep='' option at the >>>> end of the function call specifies that no spaces should be included >>>> between pasted items. >>>> >>>> output = paste(as.character(df [,'Major.Gleason']), '+', as.character(df[ >>>>> ,'Minor.Gleason']), sep='') >>>>> >>>> >>> I do not think the as.character is needed. Coercion to character is >>> implicit in the use of paste(). And the sep argument could be "+". >>> >>> output = paste(df [,'Major.Gleason'], df[ ,'Minor.Gleason'], sep='+') >>> >>> -- >>> David. >>> >>> >>> >>>> The new object 'output' is a character vector containing the 4 strings >>>> you're after: >>>> >>>> print(output) >>>>> >>>> [1] "4+3" "5+2" "2+4" "3+3" >>>> >>>> >>>> On Mon, Jun 20, 2011 at 11:31 AM, Ben Ganzfried <ben.ganzfr...@gmail.com> >>>> wrote: >>>> >>>>> >>>>> Hi -- >>>>> >>>>> I had a pretty quick R question since unfortunately I have not been able >>>>> to >>>>> find an answer on Google. It shouldn't take much more than a minute to >>>>> answer. >>>>> >>>>> I'm trying to add up the major gleason grade and minor gleason grade for >>>>> an >>>>> analysis of patients with prostate cancer. One column has values under >>>>> "Major Gleason" and another column has values under "Minor Gleason." For >>>>> example, >>>>> Major Gleason Minor Gleason >>>>> 4 3 >>>>> 5 2 >>>>> 2 4 >>>>> 3 3 >>>>> >>>>> I want my output to be: >>>>> "4+3" >>>>> "5+2" >>>>> "2+4" >>>>> "3+3" >>>>> >>>>> The quasi-pseudocode in Java is basically: >>>>> >>>>> major = column$majorGleason >>>>> minor = column$minorGleason >>>>> for item in len(Major Gleason) { >>>>> string s = major(item) "+" minor(item); >>>>> } >>>>> return s; >>>>> >>>>> But trying the same idea in R: >>>>> >>>>> string <- major "+" minor >>>>> >>>>> gives me an error: "unexpected string constant in..." >>>>> >>>>> I would greatly appreciate any help. >>>>> >>>>> Thanks, >>>>> >>>>> Ben >>>>> >>>>> [[alternative HTML version deleted]] >>>>> >>>>> ______________________________**________________ >>>>> R-help@r-project.org mailing list >>>>> https://stat.ethz.ch/mailman/**listinfo/r-help<https://stat.ethz.ch/mailman/listinfo/r-help> >>>>> PLEASE do read the posting guide http://www.R-project.org/** >>>>> posting-guide.html <http://www.R-project.org/posting-guide.html> >>>>> and provide commented, minimal, self-contained, reproducible code. >>>>> >>>> >>>> >>>> >>>> -- >>>> ___________________________ >>>> Luke Miller >>>> Postdoctoral Researcher >>>> Marine Science Center >>>> Northeastern University >>>> Nahant, MA >>>> (781) 581-7370 x318 >>>> >>>> ______________________________**________________ >>>> R-help@r-project.org mailing list >>>> https://stat.ethz.ch/mailman/**listinfo/r-help<https://stat.ethz.ch/mailman/listinfo/r-help> >>>> PLEASE do read the posting guide http://www.R-project.org/** >>>> posting-guide.html <http://www.R-project.org/posting-guide.html> >>>> and provide commented, minimal, self-contained, reproducible code. >>>> >>> >>> David Winsemius, MD >>> West Hartford, CT >>> >>> >> >> [[alternative HTML version deleted]] >> >> ______________________________________________ >> R-help@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. >> > > > > -- > "Men by nature long to get on to the ultimate truths, and will often > be impatient with elementary studies or fight shy of them. If it were > possible to reach the ultimate truths without the elementary studies > usually prefixed to them, these would not be preparatory studies but > superfluous diversions." > > -- Maimonides (1135-1204) > Bert Gunter Genentech Nonclinical Biostatistics ______________________________________________ R-help@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.