[R] unquoting

Murray Jorgensen maj at stats.waikato.ac.nz
Sun Aug 20 23:26:38 CEST 2006


Thank you, Brian, Peter and Gabor

Brian has what want. My heading was a bit misleading. I was looking for 
a function that would, in logicians' terms, convert 'mention' into 
'use'. (This usually goes along with the story about the importance of 
knowing the difference between a lion and "lion".) get() is just such a 
function.

Murray Jorgensen

Prof Brian Ripley wrote:
> ?get
> 
> I really think this has nothing to do with `quoting', rather to do with 
> evaluating variables from their names. At first I though you were looking 
> for noquote(), which does unquote in the conventional sense.
> 
>> noquote(names(AF)[2])
> [1] Second
>> get(names(AF)[2])
> [1] 3 4
> 
> On Sun, 20 Aug 2006, Murray Jorgensen wrote:
> 
>> I would like a function to strip quotes off character strings. I should 
>> work like this:
>>
>>  > A <- matrix(1:6, nrow = 2, ncol=3)
>>  > AF <- as.data.frame(A)
>>  > names(AF) <- c("First","Second","Third")
>>  > AF
>>    First Second Third
>> 1     1      3     5
>> 2     2      4     6
>>  > names(AF)[2]
>> [1] "Second"
>>  > attach(AF)
>>  > unquote(names(AF)[2])
>> [1] 3 4
>>
>> Of course what I actually get is
>>
>> Error: couldn't find function "unquote"
>>
>> The reason that I want to do this is that I have a frame with a rather 
>> large number of variables and I would like to loop over the names and 
>> print out various descriptive summaries of the variable's distribution.
>>
>> OK, OK, I could just go
>>
>>  > AF[,2]
>> [1] 3 4
>>
>> but once I thought of unquoting I have some sort of inner need to know 
>> how to do it!
>>
>> Cheers,
>>
>> Murray
>>
> 

-- 
Dr Murray Jorgensen      http://www.stats.waikato.ac.nz/Staff/maj.html
Department of Statistics, University of Waikato, Hamilton, New Zealand
Email: maj at waikato.ac.nz                                Fax 7 838 4155
Phone  +64 7 838 4773 wk    Home +64 7 825 0441    Mobile 021 1395 862



More information about the R-help mailing list