Re: [R] Why can't I access this type?

2015-03-27 Thread Henric Winell

On 2015-03-27 09:19, Patrick Connolly wrote:


[...]

On Sun, 22-Mar-2015 at 08:06AM -0800, John Kane wrote:

|> Well, first off, you have no variable called "Name".  You have lost
|> the state names as they are rownames in the matrix state.x77 and
|> not a variable.

If you did this:


all.states  <- within(as.data.frame(state.x77), Name <- rownames(state.x77))

instead of

all.states  <- within(as.data.frame(state.x77), state <- rownames(state.x77))


Alternatively, since 'data.frame()' coerces internally, one could do

all.states <- data.frame(state.x77, Name = rownames(state.x77))


Henric Winell





then this would worka;

cold.states <- all.states[all.states$Frost > 150, c("Name", "Frost")]


Modify the above to match where my guess at what you tried is in error.


HTH



__
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
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.


Re: [R] Why can't I access this type?

2015-03-27 Thread Patrick Connolly
On Thu, 26-Mar-2015 at 04:58PM -0400, yoursurrogate...@gmail.com wrote:

[...]
|>  I agree with you on the indexing approach.  But even after using
|> within, I still get the same error.  >

You leave us to guess just what you tried, but if you did this:

> all.states  <- within(as.data.frame(state.x77), state <- rownames(state.x77))
and then again did this:

> cold.states <- all.states[all.states$Frost > 150, c("Name", "Frost")]

of course it will give the same error, because as you haven't
addressed the problem as you've been told

On Sun, 22-Mar-2015 at 08:06AM -0800, John Kane wrote:

|> Well, first off, you have no variable called "Name".  You have lost
|> the state names as they are rownames in the matrix state.x77 and
|> not a variable.

If you did this:

> all.states  <- within(as.data.frame(state.x77), Name <- rownames(state.x77))
instead of
> all.states  <- within(as.data.frame(state.x77), state <- rownames(state.x77))

then this would worka;
> cold.states <- all.states[all.states$Frost > 150, c("Name", "Frost")]

Modify the above to match where my guess at what you tried is in error.


HTH

-- 
~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.   
   ___Patrick Connolly   
 {~._.~}   Great minds discuss ideas
 _( Y )_ Average minds discuss events 
(:_~*~_:)  Small minds discuss people  
 (_)-(_)  . Eleanor Roosevelt
  
~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.

__
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
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.


Re: [R] Why can't I access this type?

2015-03-26 Thread yoursurrogate...@gmail.com




> On Mar 25, 2015, at 10:14, Henric Winell  wrote:
> 
>> On 2015-03-25 09:40, Patrick Connolly wrote:
>> 
>> On Sun, 22-Mar-2015 at 08:06AM -0800, John Kane wrote:
>> 
>> |> Well, first off, you have no variable called "Name".  You have lost
>> |> the state names as they are rownames in the matrix state.x77 and
>> |> not a variable.
>> |>
>> |> Try this. It's ugly and I have no idea why I had to do a cbind()
>> 
>> You don't have to use cbind
>> 
>> |> but it seems to work. Personally I find subset easier to read than
>> |> the indexing approach.
>> 
>> |> state  <-  rownames(state.x77)
>> |> all.states <- as.data.frame(state.x77)
>> |> all.states  <-  cbind(state, all.states) ### ?
>> 
>> You don't have to use cbind()
>> 
>> all.states  <- within(as.data.frame(state.x77), state <- rownames(state.x77))
>> 
>> but I think cbind is simpler to read.
>> 
>> |>
>> |> coldstates  <-   subset(all.states, all.states$Frost > 50,
>> |> select = c("state","Frost") )
> 
> I find the indexing approach
> 
> coldstates <- all.states[all.states$Frost > 150, c("state","Frost")]
> 
> to be the most direct and obvious solution.
> 
>> Tidier, even more so than subset():
>> 
>> require(dplyr)
>> coldstates <- all.states %>% filter(Frost > 150) %>% select(state, Frost)
>> 
>> Or, easier to see what's happening:
>> 
>> coldstates <- all.states %>%
>>   filter(Frost > 150) %>%
>>   select(state, Frost)
> 
> Well...  Opinions may perhaps differ, but apart from '%>%' being butt-ugly 
> it's also fairly slow:
> 
> > library("microbenchmark")
> > microbenchmark(
> + subset(all.states, all.states$Frost > 150, select = c("state","Frost")),
> + all.states[all.states$Frost > 150, c("state","Frost")],
> + all.states %>% filter(Frost > 150) %>% select(state, Frost),
> + times = 1000L
> + )
> Unit: microseconds
>   expr
> subset(all.states, all.states$Frost > 150, select = c("state", "Frost"))
>   all.states[all.states$Frost > 150, c("state", "Frost")]
>   all.states %>% filter(Frost > 150) %>% select(state, Frost)
>  min   lq  meanmedianuq  max neval cld
>  139.112  148.673  163.3960  159.1760  170.7895 1763.200  1000  b
>  104.039  111.973  127.2138  120.4395  128.6640 1381.809  1000 a
> 1010.076 1033.519 1133.1469 1107.8480 1175.1800 2932.206  1000   c
> 
> Of course, this doesn't matter for interactive one-off use.  But lately I've 
> seen examples of the '%>%' operator creeping into functions in packages.  
> However, it would be nice to see a fast pipe operator as part of base R.
> 
> 
> Henric Winell
> 
> 
> 
>> 
>> 
>> |>
>> |>
>> |> John Kane
>> |> Kingston ON Canada
>> |>
>> |>
>> |> > -Original Message-
>> |> > From: yoursurrogate...@gmail.com
>> |> > Sent: Sun, 22 Mar 2015 10:39:03 -0400
>> |> > To: r-help@r-project.org
>> |> > Subject: [R] Why can't I access this type?
>> |> >
>> |> > Hi, I'm just learning my way around R.  I got a bunch of states and 
>> would
>> |> > like to access to get all of the ones where it's cold.  But when I do 
>> the
>> |> > following, I will get the following error:
>> |> >
>> |> >> all.states <- as.data.frame(state.x77)
>> |> >> cold.states <- all.states[all.states$Frost > 150, c("Name", "Frost")]
>> |> > Error in `[.data.frame`(all.states, all.states$Frost > 150, c("Name",  :
>> |> >   undefined columns selected
>> |> >
>> |> > I don't get it.  When I look at all.states, this is what I see:
>> |> >
>> |> >> str(all.states)
>> |> > 'data.frame':   50 obs. of  8 variables:
>> |> >  $ Population: num  3615 365 2212 2110 21198 ...
>> |> >  $ Income: num  3624 6315 4530 3378 5114 ...
>> |> >  $ Illiteracy: num  2.1 1.5 1.8 1.9 1.1 0.7 1.1 0.9 1.3 2 ...
>> |> >  $ Life Exp  : num  69 69.3 70.5 70.7 71.7 ...
>> |> >  $ Murder: num  15.1 11.3 7.8 10.1 10.3 6.8 3.1 6.2 10.7 13

Re: [R] Why can't I access this type?

2015-03-25 Thread Henric Winell

On 2015-03-25 09:40, Patrick Connolly wrote:


On Sun, 22-Mar-2015 at 08:06AM -0800, John Kane wrote:

|> Well, first off, you have no variable called "Name".  You have lost
|> the state names as they are rownames in the matrix state.x77 and
|> not a variable.
|>
|> Try this. It's ugly and I have no idea why I had to do a cbind()

You don't have to use cbind

|> but it seems to work. Personally I find subset easier to read than
|> the indexing approach.

|> state  <-  rownames(state.x77)
|> all.states <- as.data.frame(state.x77)
|> all.states  <-  cbind(state, all.states) ### ?

You don't have to use cbind()

all.states  <- within(as.data.frame(state.x77), state <- rownames(state.x77))

but I think cbind is simpler to read.

|>
|> coldstates  <-   subset(all.states, all.states$Frost > 50,
|> select = c("state","Frost") )


I find the indexing approach

coldstates <- all.states[all.states$Frost > 150, c("state","Frost")]

to be the most direct and obvious solution.


Tidier, even more so than subset():

require(dplyr)
coldstates <- all.states %>% filter(Frost > 150) %>% select(state, Frost)

Or, easier to see what's happening:

coldstates <- all.states %>%
   filter(Frost > 150) %>%
   select(state, Frost)


Well...  Opinions may perhaps differ, but apart from '%>%' being 
butt-ugly it's also fairly slow:


> library("microbenchmark")
> microbenchmark(
+ subset(all.states, all.states$Frost > 150, select = 
c("state","Frost")),

+ all.states[all.states$Frost > 150, c("state","Frost")],
+ all.states %>% filter(Frost > 150) %>% select(state, Frost),
+ times = 1000L
+ )
Unit: microseconds

   expr
 subset(all.states, all.states$Frost > 150, select = c("state", 
"Frost"))
   all.states[all.states$Frost > 150, c("state", 
"Frost")]
   all.states %>% filter(Frost > 150) %>% select(state, 
Frost)

  min   lq  meanmedianuq  max neval cld
  139.112  148.673  163.3960  159.1760  170.7895 1763.200  1000  b
  104.039  111.973  127.2138  120.4395  128.6640 1381.809  1000 a
 1010.076 1033.519 1133.1469 1107.8480 1175.1800 2932.206  1000   c

Of course, this doesn't matter for interactive one-off use.  But lately 
I've seen examples of the '%>%' operator creeping into functions in 
packages.  However, it would be nice to see a fast pipe operator as part 
of base R.



Henric Winell






|>
|>
|> John Kane
|> Kingston ON Canada
|>
|>
|> > -Original Message-
|> > From: yoursurrogate...@gmail.com
|> > Sent: Sun, 22 Mar 2015 10:39:03 -0400
|> > To: r-help@r-project.org
|> > Subject: [R] Why can't I access this type?
|> >
|> > Hi, I'm just learning my way around R.  I got a bunch of states and would
|> > like to access to get all of the ones where it's cold.  But when I do the
|> > following, I will get the following error:
|> >
|> >> all.states <- as.data.frame(state.x77)
|> >> cold.states <- all.states[all.states$Frost > 150, c("Name", "Frost")]
|> > Error in `[.data.frame`(all.states, all.states$Frost > 150, c("Name",  :
|> >   undefined columns selected
|> >
|> > I don't get it.  When I look at all.states, this is what I see:
|> >
|> >> str(all.states)
|> > 'data.frame':   50 obs. of  8 variables:
|> >  $ Population: num  3615 365 2212 2110 21198 ...
|> >  $ Income: num  3624 6315 4530 3378 5114 ...
|> >  $ Illiteracy: num  2.1 1.5 1.8 1.9 1.1 0.7 1.1 0.9 1.3 2 ...
|> >  $ Life Exp  : num  69 69.3 70.5 70.7 71.7 ...
|> >  $ Murder: num  15.1 11.3 7.8 10.1 10.3 6.8 3.1 6.2 10.7 13.9 ...
|> >  $ HS Grad   : num  41.3 66.7 58.1 39.9 62.6 63.9 56 54.6 52.6 40.6 ...
|> >  $ Frost : num  20 152 15 65 20 166 139 103 11 60 ...
|> >  $ Area  : num  50708 566432 113417 51945 156361 ...
|> >
|> > What am I messing up?
|> >
|> >  [[alternative HTML version deleted]]
|> >
|> > __
|> > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
|> > 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.
|>
|> 
|> FREE ONLINE PHOTOSHARING - Share your photos online with your friends and 
family!
|&

Re: [R] Why can't I access this type?

2015-03-25 Thread Patrick Connolly
On Sun, 22-Mar-2015 at 08:06AM -0800, John Kane wrote:

|> Well, first off, you have no variable called "Name".  You have lost
|> the state names as they are rownames in the matrix state.x77 and
|> not a variable.
|> 
|> Try this. It's ugly and I have no idea why I had to do a cbind()

You don't have to use cbind

|> but it seems to work. Personally I find subset easier to read than
|> the indexing approach.

|> state  <-  rownames(state.x77)
|> all.states <- as.data.frame(state.x77)
|> all.states  <-  cbind(state, all.states) ### ?

You don't have to use cbind()

all.states  <- within(as.data.frame(state.x77), state <- rownames(state.x77))

but I think cbind is simpler to read.

|> 
|> coldstates  <-   subset(all.states, all.states$Frost > 50, 
|> select = c("state","Frost") )

Tidier, even more so than subset():

require(dplyr)
coldstates <- all.states %>% filter(Frost > 150) %>% select(state, Frost)

Or, easier to see what's happening:

coldstates <- all.states %>% 
  filter(Frost > 150) %>% 
  select(state, Frost)


|> 
|> 
|> John Kane
|> Kingston ON Canada
|> 
|> 
|> > -----Original Message-
|> > From: yoursurrogate...@gmail.com
|> > Sent: Sun, 22 Mar 2015 10:39:03 -0400
|> > To: r-help@r-project.org
|> > Subject: [R] Why can't I access this type?
|> > 
|> > Hi, I'm just learning my way around R.  I got a bunch of states and would
|> > like to access to get all of the ones where it's cold.  But when I do the
|> > following, I will get the following error:
|> > 
|> >> all.states <- as.data.frame(state.x77)
|> >> cold.states <- all.states[all.states$Frost > 150, c("Name", "Frost")]
|> > Error in `[.data.frame`(all.states, all.states$Frost > 150, c("Name",  :
|> >   undefined columns selected
|> > 
|> > I don't get it.  When I look at all.states, this is what I see:
|> > 
|> >> str(all.states)
|> > 'data.frame':   50 obs. of  8 variables:
|> >  $ Population: num  3615 365 2212 2110 21198 ...
|> >  $ Income: num  3624 6315 4530 3378 5114 ...
|> >  $ Illiteracy: num  2.1 1.5 1.8 1.9 1.1 0.7 1.1 0.9 1.3 2 ...
|> >  $ Life Exp  : num  69 69.3 70.5 70.7 71.7 ...
|> >  $ Murder: num  15.1 11.3 7.8 10.1 10.3 6.8 3.1 6.2 10.7 13.9 ...
|> >  $ HS Grad   : num  41.3 66.7 58.1 39.9 62.6 63.9 56 54.6 52.6 40.6 ...
|> >  $ Frost : num  20 152 15 65 20 166 139 103 11 60 ...
|> >  $ Area  : num  50708 566432 113417 51945 156361 ...
|> > 
|> > What am I messing up?
|> > 
|> >[[alternative HTML version deleted]]
|> > 
|> > __
|> > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
|> > 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.
|> 
|> 
|> FREE ONLINE PHOTOSHARING - Share your photos online with your friends and 
family!
|> Visit http://www.inbox.com/photosharing to find out more!
|> 
|> __
|> R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
|> 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.

-- 
~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.   
   ___Patrick Connolly   
 {~._.~}   Great minds discuss ideas
 _( Y )_ Average minds discuss events 
(:_~*~_:)  Small minds discuss people  
 (_)-(_)  . Eleanor Roosevelt
  
~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.

__
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
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.


Re: [R] Why can't I access this type?

2015-03-22 Thread John Kane
Well, first off, you have no variable called "Name".  You have lost the state 
names as they are rownames in the matrix state.x77 and not a variable.

Try this. It's ugly and I have no idea why I had to do a cbind() but it seems 
to work. Personally I find subset easier to read than the indexing approach.

state  <-  rownames(state.x77)
all.states <- as.data.frame(state.x77)
all.states  <-  cbind(state, all.states) ### ?

coldstates  <-   subset(all.states, all.states$Frost > 50, 
select = c("state","Frost") )


John Kane
Kingston ON Canada


> -Original Message-
> From: yoursurrogate...@gmail.com
> Sent: Sun, 22 Mar 2015 10:39:03 -0400
> To: r-help@r-project.org
> Subject: [R] Why can't I access this type?
> 
> Hi, I'm just learning my way around R.  I got a bunch of states and would
> like to access to get all of the ones where it's cold.  But when I do the
> following, I will get the following error:
> 
>> all.states <- as.data.frame(state.x77)
>> cold.states <- all.states[all.states$Frost > 150, c("Name", "Frost")]
> Error in `[.data.frame`(all.states, all.states$Frost > 150, c("Name",  :
>   undefined columns selected
> 
> I don't get it.  When I look at all.states, this is what I see:
> 
>> str(all.states)
> 'data.frame':   50 obs. of  8 variables:
>  $ Population: num  3615 365 2212 2110 21198 ...
>  $ Income: num  3624 6315 4530 3378 5114 ...
>  $ Illiteracy: num  2.1 1.5 1.8 1.9 1.1 0.7 1.1 0.9 1.3 2 ...
>  $ Life Exp  : num  69 69.3 70.5 70.7 71.7 ...
>  $ Murder: num  15.1 11.3 7.8 10.1 10.3 6.8 3.1 6.2 10.7 13.9 ...
>  $ HS Grad   : num  41.3 66.7 58.1 39.9 62.6 63.9 56 54.6 52.6 40.6 ...
>  $ Frost : num  20 152 15 65 20 166 139 103 11 60 ...
>  $ Area  : num  50708 566432 113417 51945 156361 ...
> 
> What am I messing up?
> 
>   [[alternative HTML version deleted]]
> 
> __
> R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
> 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.


FREE ONLINE PHOTOSHARING - Share your photos online with your friends and 
family!
Visit http://www.inbox.com/photosharing to find out more!

__
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
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.


Re: [R] Why can't I access this type?

2015-03-22 Thread Bert Gunter
Your data frame contains no column named "Name" .

Maybe what you want is

rownames(all.states)[all.state$Frost>150]

However, what you clearly need to do is stop posting until you have
done your homework by spending some time with one of the many good R
tutorials that are out there (possibly Intro to R, which ships with R,
though it's getting a bit dated now). This appears to be a very basic
question. If you are going through a tutorial and got stuck here, then
note that row names are an attribute of the data frame, not a column
name of one of its columns. See ?rownames and the links therein for
more info.

Cheers,
Bert

Bert Gunter
Genentech Nonclinical Biostatistics
(650) 467-7374

"Data is not information. Information is not knowledge. And knowledge
is certainly not wisdom."
Clifford Stoll




On Sun, Mar 22, 2015 at 7:39 AM, Yves S. Garret
 wrote:
> Hi, I'm just learning my way around R.  I got a bunch of states and would
> like to access to get all of the ones where it's cold.  But when I do the
> following, I will get the following error:
>
>> all.states <- as.data.frame(state.x77)
>> cold.states <- all.states[all.states$Frost > 150, c("Name", "Frost")]
> Error in `[.data.frame`(all.states, all.states$Frost > 150, c("Name",  :
>   undefined columns selected
>
> I don't get it.  When I look at all.states, this is what I see:
>
>> str(all.states)
> 'data.frame':   50 obs. of  8 variables:
>  $ Population: num  3615 365 2212 2110 21198 ...
>  $ Income: num  3624 6315 4530 3378 5114 ...
>  $ Illiteracy: num  2.1 1.5 1.8 1.9 1.1 0.7 1.1 0.9 1.3 2 ...
>  $ Life Exp  : num  69 69.3 70.5 70.7 71.7 ...
>  $ Murder: num  15.1 11.3 7.8 10.1 10.3 6.8 3.1 6.2 10.7 13.9 ...
>  $ HS Grad   : num  41.3 66.7 58.1 39.9 62.6 63.9 56 54.6 52.6 40.6 ...
>  $ Frost : num  20 152 15 65 20 166 139 103 11 60 ...
>  $ Area  : num  50708 566432 113417 51945 156361 ...
>
> What am I messing up?
>
> [[alternative HTML version deleted]]
>
> __
> R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
> 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.

__
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
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.


[R] Why can't I access this type?

2015-03-22 Thread Yves S. Garret
Hi, I'm just learning my way around R.  I got a bunch of states and would
like to access to get all of the ones where it's cold.  But when I do the
following, I will get the following error:

> all.states <- as.data.frame(state.x77)
> cold.states <- all.states[all.states$Frost > 150, c("Name", "Frost")]
Error in `[.data.frame`(all.states, all.states$Frost > 150, c("Name",  :
  undefined columns selected

I don't get it.  When I look at all.states, this is what I see:

> str(all.states)
'data.frame':   50 obs. of  8 variables:
 $ Population: num  3615 365 2212 2110 21198 ...
 $ Income: num  3624 6315 4530 3378 5114 ...
 $ Illiteracy: num  2.1 1.5 1.8 1.9 1.1 0.7 1.1 0.9 1.3 2 ...
 $ Life Exp  : num  69 69.3 70.5 70.7 71.7 ...
 $ Murder: num  15.1 11.3 7.8 10.1 10.3 6.8 3.1 6.2 10.7 13.9 ...
 $ HS Grad   : num  41.3 66.7 58.1 39.9 62.6 63.9 56 54.6 52.6 40.6 ...
 $ Frost : num  20 152 15 65 20 166 139 103 11 60 ...
 $ Area  : num  50708 566432 113417 51945 156361 ...

What am I messing up?

[[alternative HTML version deleted]]

__
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
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.