-----Original Message-----
From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-
project.org] On Behalf Of arun
Sent: Tuesday, April 09, 2013 6:01 PM
To: Paul Miller
Cc: R help
Subject: Re: [R] Converting matrix to data frame without losing an
assigned dimname
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