Hi,
I've got a dataframe having a code as column name.
Addtionally I have another dataframe with a two columns (and lots of
rows), the first
containing the code and the second some Text (real name).
Now I'd like to use the information (pairs of code and name) of the
second dataframe to rename all the columnnames in the first dataframe.
How is it possible to achieve that?
Here a small example of the two dataframes:
df <- data.frame(A=(1:10),B=(1:10),C=(1:10))
df_names <- data.frame(code=c("A","B","C","D","E"),name=c("Col A","Col
B","Col C","Col D","Col E"))
/j
Renaming column names according to another dataframe
5 messages · Johannes Radinger, Anthony Damico, arun
An embedded and charset-unspecified text was scrubbed... Name: not available URL: <https://stat.ethz.ch/pipermail/r-help/attachments/20121211/a2dea4a6/attachment.pl>
HI,
Try this:
?names(df)<-df_names$name[df_names$code%in%names(df)]
?head(df,2)
#? Col A Col B Col C
#1???? 1???? 1???? 1
#2???? 2???? 2???? 2
A.K.
----- Original Message -----
From: Johannes Radinger <johannesradinger at gmail.com>
To: r-help at r-project.org
Cc:
Sent: Tuesday, December 11, 2012 5:55 AM
Subject: [R] Renaming column names according to another dataframe
Hi,
I've got a dataframe having a code as column name.
Addtionally I have another dataframe with a two columns (and lots of
rows), the first
containing the code and the second some Text (real name).
Now I'd like to use the information (pairs of code and name) of the
second dataframe to rename all the columnnames in the first dataframe.
How is it possible to achieve that?
Here a small example of the two dataframes:
df <- data.frame(A=(1:10),B=(1:10),C=(1:10))
df_names <- data.frame(code=c("A","B","C","D","E"),name=c("Col A","Col
B","Col C","Col D","Col E"))
/j
______________________________________________
R-help at r-project.org 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.
HI,
You can also try this:
df <- data.frame(A=(1:10),B=(1:10),C=(1:10))
df_names <- data.frame(code=c("A","B","D","E","C"),name=c("Col A","Col B","Col D","Col E","Col C"))
names(df)<-df_names$name[match(names(df),df_names$code)]
A.K.
----- Original Message -----
From: Johannes Radinger <johannesradinger at gmail.com>
To: r-help at r-project.org
Cc:
Sent: Tuesday, December 11, 2012 5:55 AM
Subject: [R] Renaming column names according to another dataframe
Hi,
I've got a dataframe having a code as column name.
Addtionally I have another dataframe with a two columns (and lots of
rows), the first
containing the code and the second some Text (real name).
Now I'd like to use the information (pairs of code and name) of the
second dataframe to rename all the columnnames in the first dataframe.
How is it possible to achieve that?
Here a small example of the two dataframes:
df <- data.frame(A=(1:10),B=(1:10),C=(1:10))
df_names <- data.frame(code=c("A","B","C","D","E"),name=c("Col A","Col
B","Col C","Col D","Col E"))
/j
______________________________________________
R-help at r-project.org 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.
Hi, thank you so much, that works perfectly. I used the first suggestion by Anthony (names( df ) <- df_names[ match( names( df ) , df_names[ , 'code' ] ) , 'name' ]). Thank you for the hint about ?match... that was the function I was looking for, makes comparing vectors very easy. best, /Johannes
On Tue, Dec 11, 2012 at 1:06 PM, arun <smartpink111 at yahoo.com> wrote:
HI,
You can also try this:
df <- data.frame(A=(1:10),B=(1:10),C=(1:10))
df_names <- data.frame(code=c("A","B","D","E","C"),name=c("Col A","Col B","Col D","Col E","Col C"))
names(df)<-df_names$name[match(names(df),df_names$code)]
A.K.
----- Original Message -----
From: Johannes Radinger <johannesradinger at gmail.com>
To: r-help at r-project.org
Cc:
Sent: Tuesday, December 11, 2012 5:55 AM
Subject: [R] Renaming column names according to another dataframe
Hi,
I've got a dataframe having a code as column name.
Addtionally I have another dataframe with a two columns (and lots of
rows), the first
containing the code and the second some Text (real name).
Now I'd like to use the information (pairs of code and name) of the
second dataframe to rename all the columnnames in the first dataframe.
How is it possible to achieve that?
Here a small example of the two dataframes:
df <- data.frame(A=(1:10),B=(1:10),C=(1:10))
df_names <- data.frame(code=c("A","B","C","D","E"),name=c("Col A","Col
B","Col C","Col D","Col E"))
/j
______________________________________________ R-help at r-project.org 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.