I neglected to copy this to the list: I think we need more information. Can you give us the structure of the data with str(YourDataFrame). Alternatively you could copy a small piece into your email message by copying and pasting the results of the following code: dput(head(YourDataFrame)) The data frame you present could not be a data frame since you say "hits" is a factor with a variable number of elements. If each value of "hits" was a single character string, it would only have 2 factor levels not 6 and your efforts to parse the string would make more sense. Transposing to a data frame would only be possible if each column was padded with NAs to make them equal in length. Since your example tries use the name TF2list, it is possible that you do not have a data frame but a list and you have no factor levels, just character vectors. If you are not familiar with R, it may be helpful to tell us what your overall goal is rather than an intermediate step. Very likely R can easily handle what you want by doing things a different way. ---------------------------------------- David L Carlson Department of Anthropology Texas A&M University College Station, TX 77843-4352 -----Original Message----- From: R-help <r-help-bounces at r-project.org> On Behalf Of Matthew Sent: Tuesday, April 30, 2019 2:25 PM To: r-help (r-help at r-project.org) <r-help at r-project.org> Subject: [R] transpose and split dataframe I have a data frame that is a lot bigger but for simplicity sake we can say it looks like this: Regulator??? hits AT1G69490??? AT4G31950,AT5G24110,AT1G26380,AT1G05675 AT2G55980??? AT2G85403,AT4G89223 ?? In other words: data.frame : 2 obs. of 2 variables $Regulator: Factor w/ 2 levels $hits???????? : Factor w/ 6 levels ? I want to transpose it so that Regulator is now the column headings and each of the AGI numbers now separated by commas is a row. So, AT1G69490 is now the header of the first column and AT4G31950 is row 1 of column 1, AT5G24110 is row 2 of column 1, etc. AT2G55980 is header of column 2 and AT2G85403 is row 1 of column 2, etc. ? I have tried playing around with strsplit(TF2list[2:2]) and strsplit(as.character(TF2list[2:2]), but I am getting nowhere. Matthew ______________________________________________ R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see 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.