Message-ID: <CAM_vjunRWjn93m+ckKSwBTq3e-wd5n1uALKwydBpjaMRvxSGkA@mail.gmail.com>
Date: 2011-11-17T11:57:55Z
From: Sarah Goslee
Subject: Reading data/variables
In-Reply-To: <4e7f30cc-6dd4-4a38-9371-002294b31d18@kedge1.utk.tennessee.edu>
Well, if your problem is that a workspace is being loaded automatically
and you don't want that workspace, you have several options:
1. Use a different directory for each project so that the file loaded
by default is the correct one.
2. Don't save your workspace, but regenerate it each time.
3. Use R --vanilla or your OS's equivalent to start R without loading anything
automatically, and use load() and save() to manually manage RData files.
Yes, it's convenient, but if you want to use a non-standard way of working
you need to understand what you're doing.
Sarah
On Thu, Nov 17, 2011 at 3:10 AM, Steven Yen <syen at utk.edu> wrote:
> Thanks Sarah. I have read about the problems with attach(), and I will try
> to avoid it.
> I have now found the line that's causing the problem is:
>
> setwd("z:/homework")
>
> With that line in place, either in a program or in Rprofile.site (?), then
> the moment I run R and simply enter (before reading any data)
> summary(mydata)
> I get sample statistics for a dozen variables!
>
> Do not save the workspace? I thought the option to save/use a binary file is
> meant to be convenient.
>
> I like working in the same working directory, and I like .rdata files. Does
> this sound hopeless? Thanks.
>
> At 09:26 PM 11/15/2011, Sarah Goslee wrote:
>
> 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
>>? >
>>
>