Eric Lecoutre <[EMAIL PROTECTED]> writes: > Hi, > > If I define the following list: > > > (l<-list("text-align"="right")) > $"text-align" > [1] "right" > > I know that I can't use l$text-align, as the parser will find a '-' operation. > If I want (need) to use special names, as "text-align", I have to > enclose it between "". So I can use: > > l$"text-align" or l[["text-align"]] > > If now I have the text "text-align" defined in a variable: > p<-"text-align" > > I can use: > > l[[p]] > [1] "right" > > But I can't use l$p > > where as it is said in the help page that 'x$name' is equivalent to > 'x[["name"]]'. > > Anyway I will use "[[" but I dont clearly understand this behavior.
It also says The operators '$' and '$<-' do not evaluate their second argument. It is translated to a string and that string is used to locate the correct component of the first argument. so l$p looks for l[["p"]] since the p is treated as a symbol. The fact that there is an object called p and that it contains a special name is immaterial (the opposite would be truly scary...). -- O__ ---- Peter Dalgaard Blegdamsvej 3 c/ /'_ --- Dept. of Biostatistics 2200 Cph. N (*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918 ~~~~~~~~~~ - ([EMAIL PROTECTED]) FAX: (+45) 35327907 ______________________________________________ [EMAIL PROTECTED] mailing list https://stat.ethz.ch/mailman/listinfo/r-devel