[R] Converting matrix to data frame without losing an assigned dimname

arun smartpink111 at yahoo.com
Wed Apr 10 01:00:34 CEST 2013


Hi,

library(plyr)
library(reshape2)
 df2<-mutate(dcast(melt(tableData),State~Var2), State=factor(State,levels=rownames(tableData)))
dfNew<-df2[as.numeric(df2$State),c(1,3:4,2)]
dfNew$State<- as.character(dfNew$State)
 dfNew
#         State Frost Population  Area
#1  Connecticut   139       3100  4862
#3 Pennsylvania   126      11860 44966
#2     Maryland   101       4122  9891
#4     Virginia    85       4981 39780
A.K.




----- Original Message -----
From: Paul Miller <pjmiller_57 at yahoo.com>
To: r-help at r-project.org
Cc: 
Sent: Tuesday, April 9, 2013 4:52 PM
Subject: [R] Converting matrix to data frame without losing an assigned dimname

Hello All,

Would like to be able to convert a matrix to a dataframe without losing an assigned dimname.

Here is an example that should illustrate what I'm talking about.

tableData <- state.x77[c(7, 38, 20, 46), c(7, 1, 8)]
names(dimnames(tableData)) <- c("State", "")
tableData

State          Frost Population  Area
  Connecticut    139       3100  4862
  Pennsylvania   126      11860 44966
  Maryland       101       4122  9891
  Virginia        85       4981 39780

tableData <- as.data.frame(tableData)
tableData

             Frost Population  Area
Connecticut    139       3100  4862
Pennsylvania   126      11860 44966
Maryland       101       4122  9891
Virginia        85       4981 39780

Notice how "State" gets removed when converting to a dataframe. How can I get a dataframe with a separate column called "State" instead of having the state become the row.names? I can think of an ugly way to do it but suspect there must be something more elegant.

Thanks,

Paul

______________________________________________
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.




More information about the R-help mailing list