naming of columns in R dataframe consisting of mixed data (alphanumeric and numeric)

3 messages Options
Embed this post
Permalink
Mary A. Marion-2

naming of columns in R dataframe consisting of mixed data (alphanumeric and numeric)

Reply Threaded More More options
Print post
Permalink
Hello,

I have an r function that creates the following dataframe tresults2.
Notice that column 1 does not have a column heading.

Tresults2:
                 [,1]
estparam     18.00000
nullval      20.00000
. . .
ciWidth       2.04622
HalfInterval  1.02311

pertinent code:
results<-cbind( estparam, nullval, t, pv_left, pv_right, pv_two_t,
estse, df,  cc, tbox, llim, ulim, ciWidth, HalfInterval)
tresults<-round((results),5)
tresults2<-data.frame(t(tresults))
names(tresults2)<-c("Statistic ", "Value")
tresults2

===========================================================================================
After transposing my dataframe tresults2 consists of 2 columns.  
Col1=alphanumeric data (this really is a variable name) and
col2=numeric data (this is value of varaiable).

how do I name columns when columns are different (alphanumeric and numeric)
to avoid the following error:

Error in names(tresults2) <- c("Statistic ", "Value") :
  'names' attribute [2] must be the same length as the vector [1]

Am I to use c( , ) or list( , ) with a dataframe?

Thank you for your help.
Sincerely,
Mary A. Marion





        [[alternative HTML version deleted]]

______________________________________________
[hidden email] 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.
Etienne Bellemare Racine

Re: naming of columns in R dataframe consisting of mixed data (alphanumeric and numeric)

Reply Threaded More More options
Print post
Permalink

Mary A. Marion-2 wrote:
Hello,

I have an r function that creates the following dataframe tresults2.
Notice that column 1 does not have a column heading.

Tresults2:
                 [,1]
estparam     18.00000
nullval      20.00000
. . .
ciWidth       2.04622
HalfInterval  1.02311

pertinent code:
results<-cbind( estparam, nullval, t, pv_left, pv_right, pv_two_t,
estse, df,  cc, tbox, llim, ulim, ciWidth, HalfInterval)
tresults<-round((results),5)
tresults2<-data.frame(t(tresults))
names(tresults2)<-c("Statistic ", "Value")
tresults2

===========================================================================================
After transposing my dataframe tresults2 consists of 2 columns.  
Col1=alphanumeric data (this really is a variable name) and
col2=numeric data (this is value of varaiable).

how do I name columns when columns are different (alphanumeric and numeric)
to avoid the following error:

Error in names(tresults2) <- c("Statistic ", "Value") :
  'names' attribute [2] must be the same length as the vector [1]
You tried to give a name to a column that do not exist (the second one you called "value"). You can check that using str(tresults2).
The name of the columns should not (well, I don't see how) interfere with the type (or class) they contain.

You can create a Value column by using tresults2$Value <- your_value

Am I to use c( , ) or list( , ) with a dataframe?
You picked the right one ( c() )... to give the names, I guess this is what you were asking.

Cheers,
Etienne
Thank you for your help.
Sincerely,
Mary A. Marion
Moshe Olshansky-2

Re: naming of columns in R dataframe consisting of mixed data (alphanumeric and numeric)

Reply Threaded More More options
Print post
Permalink
In reply to this post by Mary A. Marion-2

Hi Mary,

Your data.frame has just one column (not 2)! You can check this by dim(tresult2).
What appears to you to be the first column (names) are indeed rownames.
If you really want to have two columns do something like
tresult2 <- cbind(colnames(tresult),data.frame(t(tresult),row.names=NULL))
Now tresult2 contains 2 columns and you can proceed with  
names(tresults2)<-c("Statistic ", "Value")

--- On Fri, 10/7/09, Mary A. Marion <[hidden email]> wrote:

> From: Mary A. Marion <[hidden email]>
> Subject: [R] naming of columns in R dataframe consisting of mixed data (alphanumeric and numeric)
> To: [hidden email]
> Received: Friday, 10 July, 2009, 3:50 AM
> Hello,
>
> I have an r function that creates the following dataframe
> tresults2.
> Notice that column 1 does not have a column heading.
>
> Tresults2:
>              
>    [,1]
> estparam     18.00000
> nullval      20.00000
> . . .
> ciWidth       2.04622
> HalfInterval  1.02311
>
> pertinent code:
> results<-cbind( estparam, nullval, t, pv_left, pv_right,
> pv_two_t,
> estse, df,  cc, tbox, llim, ulim, ciWidth,
> HalfInterval)
> tresults<-round((results),5)
> tresults2<-data.frame(t(tresults))
> names(tresults2)<-c("Statistic ", "Value")
> tresults2
>
> ===========================================================================================
> After transposing my dataframe tresults2 consists of 2
> columns. 
> Col1=alphanumeric data (this really is a variable name)
> and
> col2=numeric data (this is value of varaiable).
>
> how do I name columns when columns are different
> (alphanumeric and numeric)
> to avoid the following error:
>
> Error in names(tresults2) <- c("Statistic ", "Value") :
>   'names' attribute [2] must be the same length as the
> vector [1]
>
> Am I to use c( , ) or list( , ) with a dataframe?
>
> Thank you for your help.
> Sincerely,
> Mary A. Marion
>
>
>
>
>
>     [[alternative HTML version deleted]]
>
> ______________________________________________
> [hidden email]
> 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.
>

______________________________________________
[hidden email] 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.