[R] Reading data/variables

Sarah Goslee sarah.goslee at gmail.com
Wed Nov 16 03:26:12 CET 2011


Hi,

The obvious answer is don't use attach() and you'll never have
that problem. And see further comments inline.

On Tue, Nov 15, 2011 at 6:05 PM, Steven Yen <syen at utk.edu> wrote:
> Can someone help me with this variable/data reading issue?
> I read a csv file and transform/create an additional variable (called y).
>
> The first set of commands below produced different sample statistics
> for hw11$y and y
>
> In the second set of command I renameuse the variable name yy, and
> sample statistics for $hw11$yy and yy are identical.
>
> Using y <- yy fixed it, but I am not sure why I would need to do that.
>
> That "y" appeared to have come from a variable called "y" from
> another data frame (unrelated to the current run).
>
> Help!
>
>  > setwd("z:/homework")
>  > sink ("z:/homework/hw11.our", append=T, split=T)
>  > hw11 <- read.csv("ij10b.csv",header=T)
>  > hw11$y <- hw11$e3
>  > attach(hw11)
> The following object(s) are masked _by_ '.GlobalEnv':
>     y

Look there. R even *told* you that it was going to use the
y in the global environment rather than the one you were
trying to attach.

The other solution: don't save your workspace. Your other
email on this topic suggested to me that there is a .RData
file in your preferred working directory that contains an
object y, and that's what is interfering with what you think
should happen.

Deleting that file, or using a different directory, or removing
y before you attach the data frame would all work.

But truly, the best possible strategy is to avoid using attach()
so you don't have to worry about which object named y is
really being used because you specify it explicitly.


>  > (n <- dim(hw11)[1])
> [1] 13765
>  > summary(hw11$y)
>     Min.  1st Qu.   Median     Mean  3rd Qu.     Max.
>   0.0000   0.4500   1.0000   1.6726   2.0000 140.0000
>  > length(hw11$y)
> [1] 13765
>  > summary(y)
>    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.
> 0.00000 0.00000 0.00000 0.24958 0.00000 1.00000
>  > length(y)
> [1] 601
>  >
>
>  > setwd("z:/homework")
>  > sink ("z:/homework/hw11.our", append=T, split=T)
>  > hw11 <- read.csv("ij10b.csv",header=T)
>  > hw11$yy <- hw11$e3
>  > attach(hw11)
>  > hw11$yy <- hw11$e3
>  > summary(hw11$yy)
>     Min.  1st Qu.   Median     Mean  3rd Qu.     Max.
>   0.0000   0.4500   1.0000   1.6726   2.0000 140.0000
>  > length(hw11$yy)
> [1] 13765
>  > summary(yy)
>     Min.  1st Qu.   Median     Mean  3rd Qu.     Max.
>   0.0000   0.4500   1.0000   1.6726   2.0000 140.0000
>  > length(yy)
> [1] 13765
>  >
>

-- 
Sarah Goslee
http://www.functionaldiversity.org



More information about the R-help mailing list