Jorge Cimentada
2016-Oct-07 16:06 UTC
[R] Error creating named character vectors from column names in data frame.
Hi everyone,
I was hoping someone would explain why this doesn't work.
c("a" = "b") # named character vector
class("a") # character
class("b") # character
c(names(mtcars)[1] = names(mtcars[2]) # error
class(names(mtcars)[1]) # character
class(names(mtcars)[2]) # character
Thanks,
Jorge Cimentada
[[alternative HTML version deleted]]
Jorge Cimentada
2016-Oct-07 16:20 UTC
[R] Error creating named character vectors from column names in data frame.
I'm sorry, there was a typo. The result is still the same:
c("a" = "b") # named character vector
class("a") # character
class("b") # character
c(names(mtcars)[1] = names(mtcars)[2]) # error
class(names(mtcars)[1]) # character
class(names(mtcars)[2]) # character
Thanks,
Jorge Cimentada
[[alternative HTML version deleted]]
Bert Gunter
2016-Oct-07 17:34 UTC
[R] Error creating named character vectors from column names in data frame.
I think you have R semantics confused. What do you think
c("a" = "b")
means?
Note that:
> c("a" = "b")
a
"b"> a
Error: object 'a' not found
And of course:
class("a") # character
class("b") # character
but this has *nothing* to do with the line immediately above it.
Have you gone through any basic R tutorials? There are many good ones
on the web.
Cheers,
Bert
Bert Gunter
"The trouble with having an open mind is that people keep coming along
and sticking things into it."
-- Opus (aka Berkeley Breathed in his "Bloom County" comic strip )
On Fri, Oct 7, 2016 at 9:06 AM, Jorge Cimentada <cimentadaj at gmail.com>
wrote:> Hi everyone,
>
> I was hoping someone would explain why this doesn't work.
>
> c("a" = "b") # named character vector
> class("a") # character
> class("b") # character
>
> c(names(mtcars)[1] = names(mtcars[2]) # error
> class(names(mtcars)[1]) # character
> class(names(mtcars)[2]) # character
>
>
> Thanks,
> Jorge Cimentada
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at 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.
Jorge Cimentada
2016-Oct-07 17:44 UTC
[R] Error creating named character vectors from column names in data frame.
Hi Bert,
Yes, I'm aware of the difference between a and "a" but in terms of
object
classes I don't see the difference between "a" and
names(mtcars)[1].
They're both strings. However, for creating a named character vector, this
works:
c("a" = "b)
But this doesn't
c(names(mtcars)[1] = "b")
For example:
df <- data.frame("a" = 1:5)
c("a" = "b")
c(names(df)[1] = "b") # error
But
identical(names(df)[1], "a")
That was my initial question.
[[alternative HTML version deleted]]