I have my data in a table table <- table(test2$Filename, test2$PREDICT) I need to convert this table so it keeps the same structure, but is a different format. The current output is count data by Filename and I want to get the max for each Filename. Columns are: Filename, 1, 2, 3, 4, 5, 6, 7 When I try to convert it to a data.frame it reverts to Var1(Filename), Var2(1:7), Freq. My end goal is to find the max by row (Filename), then do ifelse(x<max, 0, max) for each value in columns 2:8 My problem is that I don't understand what format the table is in. Thank you! Amanda -- View this message in context: http://r.789695.n4.nabble.com/convert-a-table-tp4635615.html Sent from the R help mailing list archive at Nabble.com.
convert a table
6 messages · Amanduh320, andrija djurovic, David L Carlson +1 more
An embedded and charset-unspecified text was scrubbed... Name: not available URL: <https://stat.ethz.ch/pipermail/r-help/attachments/20120706/c2dcb1ce/attachment.pl>
A table is a matrix Filename <- sample(LETTERS[1:5], 50, replace=TRUE) PREDICT <- sample(1:7, 50, replace=TRUE) To get a data frame that preserves the row/column structure of the table use dfm <- as.data.frame.matrix(tbl) But you can do what you want on the table directly: rowmx <- apply(tbl, 1, max) newtbl <- apply(tbl, 2, function(x) ifelse(x<rowmx, 0, x)) ---------------------------------------------- David L Carlson Associate Professor of Anthropology Texas A&M University College Station, TX 77843-4352
-----Original Message----- From: r-help-bounces at r-project.org [mailto:r-help-bounces at r- project.org] On Behalf Of Amanduh320 Sent: Friday, July 06, 2012 10:03 AM To: r-help at r-project.org Subject: [R] convert a table I have my data in a table table <- table(test2$Filename, test2$PREDICT) I need to convert this table so it keeps the same structure, but is a different format. The current output is count data by Filename and I want to get the max for each Filename. Columns are: Filename, 1, 2, 3, 4, 5, 6, 7 When I try to convert it to a data.frame it reverts to Var1(Filename), Var2(1:7), Freq. My end goal is to find the max by row (Filename), then do ifelse(x<max, 0, max) for each value in columns 2:8 My problem is that I don't understand what format the table is in. Thank you! Amanda -- View this message in context: http://r.789695.n4.nabble.com/convert-a- table-tp4635615.html Sent from the R help mailing list archive at Nabble.com.
______________________________________________ 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.
Fantastic, thank you so much! -- View this message in context: http://r.789695.n4.nabble.com/convert-a-table-tp4635615p4635627.html Sent from the R help mailing list archive at Nabble.com.
I managed to leave out one key line: Filename <- sample(LETTERS[1:5], 50, replace=TRUE) PREDICT <- sample(1:7, 50, replace=TRUE) tbl <- table(Filename, PREDICT) # this one. Then the rest follows. ---------------------------------------------- David
-----Original Message----- From: r-help-bounces at r-project.org [mailto:r-help-bounces at r- project.org] On Behalf Of David L Carlson Sent: Friday, July 06, 2012 10:52 AM To: 'Amanduh320'; r-help at r-project.org Subject: Re: [R] convert a table A table is a matrix Filename <- sample(LETTERS[1:5], 50, replace=TRUE) PREDICT <- sample(1:7, 50, replace=TRUE) To get a data frame that preserves the row/column structure of the table use dfm <- as.data.frame.matrix(tbl) But you can do what you want on the table directly: rowmx <- apply(tbl, 1, max) newtbl <- apply(tbl, 2, function(x) ifelse(x<rowmx, 0, x)) ---------------------------------------------- David L Carlson Associate Professor of Anthropology Texas A&M University College Station, TX 77843-4352
-----Original Message----- From: r-help-bounces at r-project.org [mailto:r-help-bounces at r- project.org] On Behalf Of Amanduh320 Sent: Friday, July 06, 2012 10:03 AM To: r-help at r-project.org Subject: [R] convert a table I have my data in a table table <- table(test2$Filename, test2$PREDICT) I need to convert this table so it keeps the same structure, but is a different format. The current output is count data by Filename and I want to get the max for each Filename. Columns are: Filename, 1, 2, 3, 4, 5, 6, 7 When I try to convert it to a data.frame it reverts to
Var1(Filename),
Var2(1:7), Freq. My end goal is to find the max by row (Filename), then do
ifelse(x<max,
0, max) for each value in columns 2:8 My problem is that I don't understand what format the table is in. Thank you! Amanda -- View this message in context: http://r.789695.n4.nabble.com/convert-
a-
table-tp4635615.html Sent from the R help mailing list archive at Nabble.com.
______________________________________________ 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.
______________________________________________ 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.
If you don't know what format your data is in, how are we supposed to know?
Have you tried looking at your data file with a text editor? Perhaps reading your data using read.table or read.csv will help? Use the str function to learn its structure? use dput as the posting guide recommends so we can look at it ourselves?
---------------------------------------------------------------------------
Jeff Newmiller The ..... ..... Go Live...
DCN:<jdnewmil at dcn.davis.ca.us> Basics: ##.#. ##.#. Live Go...
Live: OO#.. Dead: OO#.. Playing
Research Engineer (Solar/Batteries O.O#. #.O#. with
/Software/Embedded Controllers) .OO#. .OO#. rocks...1k
---------------------------------------------------------------------------
Sent from my phone. Please excuse my brevity.
Amanduh320 <aadams26 at uwo.ca> wrote:
I have my data in a table table <- table(test2$Filename, test2$PREDICT) I need to convert this table so it keeps the same structure, but is a different format. The current output is count data by Filename and I want to get the max for each Filename. Columns are: Filename, 1, 2, 3, 4, 5, 6, 7 When I try to convert it to a data.frame it reverts to Var1(Filename), Var2(1:7), Freq. My end goal is to find the max by row (Filename), then do ifelse(x<max, 0, max) for each value in columns 2:8 My problem is that I don't understand what format the table is in. Thank you! Amanda -- View this message in context: http://r.789695.n4.nabble.com/convert-a-table-tp4635615.html Sent from the R help mailing list archive at Nabble.com.
______________________________________________ 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.