Other options (possibly counting as ugly): # Preserving States as rownames for labeling > data.frame(State=rownames(tableData), tableData, stringsAsFactors=FALSE)
State Frost Population Area Connecticut Connecticut 139 3100 4862 Pennsylvania Pennsylvania 126 11860 44966 Maryland Maryland 101 4122 9891 Virginia Virginia 85 4981 39780 # Default rownames > data.frame(State=rownames(tableData), tableData, row.names=NULL, stringsAsFactors=FALSE) State Frost Population Area 1 Connecticut 139 3100 4862 2 Pennsylvania 126 11860 44966 3 Maryland 101 4122 9891 4 Virginia 85 4981 39780 > ---------------------------------------------- David L Carlson Associate Professor of Anthropology Texas A&M University College Station, TX 77843-4352 > -----Original Message----- > From: r-help-boun...@r-project.org [mailto:r-help-bounces@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...@yahoo.com> > To: r-help@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@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. > > > ______________________________________________ > R-help@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. ______________________________________________ R-help@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.