On 4/03/2010, at 10:50 AM, Steven DeRose wrote: > I'm trying to get started with R, on Ubuntu. I worked through the > tutorial, and have made a small tab-delimited subset of my data to try > out (10 cases with about a dozens variables). But I can't seem to figure > out how to actually refer to variables. I presume I'm missing something > very simple, but quite a while searching the doc and the FAQ haven't > helped me. > > I'm loading the data with > con <- read.table("tiny.txt", header=TRUE) > > The first record is a set of variable names, tab-separated like the rest > of the rows. There are no row labels, thus the same number of > tab-delimited fields in the header record and the following records. The > read.table returns silently, and I can get a reasonable summary(con). > But if I try something like plot(rel,len), where rel and len are two of > the labels from the header row, I get > > Error in plot(rel, len) : object 'rel' not found > > I've tried many variations (different variables, adding "con." on the > front, quoting, using field numbers instead of names, etc. I've also > read what I can find on read.table, but I'm clearly missing some basic > thing.... > > Can somebody put me back on the right track? Is there some additional > thing I have to do to make this into a "real" frame, or to bind > variables names to header names, or something like that? > > Thanks, and sorry for being dense....
You haven't got ``rel'' and ``len'' in your workspace. They are columns (components) of the data frame object ``con'' which ***is*** in your workspace. There are various ways to access components of a data frame: * plot(con$rel,con$len) * plot(con[["rel"]],con[["len"]]) * plot(con[,"rel"],con[,"len"]) * with(con, plot(rel,len)) You should read enough R documentation so that you understand the under-pinnings of these various syntaxes. The last one, ``with(con ...'' turns (temporarily) the data frame ``con'' into a data base on your search path. The components ``rel'' and ``len'' are then objects in this data base and thereby become accessible. A fifth way to proceed (***NOT*** recommended) is to do: attach(con) plot(rel,len) detach(con) This is something like the ``with'' solution; with() automates the attaching and detaching. The difference is that if you ***have*** got objects ``rel'' and ``len'' in your workspace (and these are different from the columns of ``con'') then the attach()---detach() procedure will use the objects in your workspace. They ``mask'' the columns of ``con''. The with() procedure is not beset with this problem. HTH cheers, Rolf Turner ###################################################################### Attention:\ This e-mail message is privileged and confid...{{dropped:9}} ______________________________________________ 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.