From ripley at stats.ox.ac.uk  Wed Jan 12 12:00:04 2005
From: ripley at stats.ox.ac.uk (Prof Brian Ripley)
Date: Wed Jan 12 12:00:14 2005
Subject: [Rd] mydataframe$colname: using substring of colname may also
	match some column (PR#7496)
In-Reply-To: <20050112105050.788FBFB8F@slim.kubism.ku.dk>
References: <20050112105050.788FBFB8F@slim.kubism.ku.dk>
Message-ID: <Pine.LNX.4.61.0501121055050.20037@gannet.stats>

That is the documented behaviour, not a bug!

BTW, df is the F density function.

If you want an exact match, use  df[match("aa", names(df))]

On Wed, 12 Jan 2005 marc@intershop.de wrote:

> Full_Name: Marc Mamin
> Version: 1.8, 2.0.0
> OS: Windows & Linux
> Submission from: (NULL) (217.17.202.254)
>
>
> Using only the beginning of a column name will match it:
>
>> aaa<-1
>> df<-as.data.frame(aaa)
>> names(df)
> [1] "aaa"
>
>> df$a
> [1] 1 !!!!!!!!! (I expect df$a to be undefind)

Where did you read that?

>> df$x
>> NULL
>
> Compare with:
>
>> df["aaa"]
>  aaa
> 1   1
>
>> df["a"]
> Error in "[.data.frame"(df, "a") : undefined columns selected
>
>
> Here another example that underline how problematic this issue can be:
>
> aa1<-1
> aa2<-2
> df<-as.data.frame(aa1,aa2)
>> df$aa
> [1] 1   (only the first matching column is retrieved)

-- 
Brian D. Ripley,                  ripley@stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595


[Rd] mydataframe$colname: using substring of colname may also match some column (PR#7496)
Prof Brian Ripley