How to convert dataframe columns from factors to characters?

0 votes

I have considered a data frame named 'zz'.

head(zz)
                 phenotype                         exclusion
GSM399350 3- 4- 8- 25- 44+ 11b- 11c- 19- NK1.1- Gr1- TER119-
GSM399351 3- 4- 8- 25- 44+ 11b- 11c- 19- NK1.1- Gr1- TER119-
GSM399352 3- 4- 8- 25- 44+ 11b- 11c- 19- NK1.1- Gr1- TER119-
GSM399353 3- 4- 8- 25+ 44+ 11b- 11c- 19- NK1.1- Gr1- TER119-
GSM399354 3- 4- 8- 25+ 44+ 11b- 11c- 19- NK1.1- Gr1- TER119-
GSM399355 3- 4- 8- 25+ 44+ 11b- 11c- 19- NK1.1- Gr1- TER119-

The following command shows the dataframe has factors

class(zz$phenotype)
[1] "factor"

Now to convert I tried the following command

 as.character(head(zz))
[1] "c(3, 3, 3, 6, 6, 6)"       "c(3, 3, 3, 3, 3, 3)"      
[3] "c(29, 29, 29, 30, 30, 30)"

 I guess these are indices into the levels of the factors of the columns. This is not my desired result.

So any suggestions that can help me?

Apr 13, 2018 in Data Analytics by darklord
• 6,140 points
134 views

1 answer to this question.

0 votes

To replace all the variables to character class you can use the apply statement. Refer below code:

zz <- data.frame(lapply(zz, as.character), stringsAsFactors=FALSE)

You can use the following code to convert only the factor variables to character

i <- sapply(zz, is.factor)
zz[i] <- lapply(zz[i], as.character)

You can also use the dplyr package

library(dplyr)
zz %>% mutate_if(is.factor, as.character) -> 

 Another alternative is to use the purrr package in RStudio:

library(purrr)
library(dplyr)
zz %>% map_if(is.factor, as.character) %>% as_data_frame -> zz
answered Apr 13, 2018 by BHARANI
• 400 points

Related Questions In Data Analytics

0 votes
1 answer

How to extract specific columns from a DataFrame ?

Yes there are so many ways: df[,c(V2,V4)] and another ...READ MORE

answered Apr 11, 2018 in Data Analytics by DeepCoder786
• 1,700 points
569 views
0 votes
1 answer
0 votes
1 answer

How to convert a list of dataframes in to a single dataframe using R?

You can use the plyr function: data <- ...READ MORE

answered Apr 13, 2018 in Data Analytics by darklord
• 6,140 points
89 views
0 votes
1 answer

How can I convert a list to a dataframe?

L = ['1', '2','3','4','5'] #create new df df ...READ MORE

answered Sep 18, 2018 in Data Analytics by ANMOL
• 3,620 points
16 views
0 votes
1 answer

How do I convert a dataframe to a list?

For doing this first you'll have to ...READ MORE

answered Sep 18, 2018 in Data Analytics by ANMOL
• 3,620 points
22 views
0 votes
1 answer

How to Share the files from local system Mac Book to Edureka VM

Hey Satya, Hope you're doing great. Would you please ...READ MORE

answered Dec 18, 2017 in Data Analytics by Sudhir
• 1,610 points
38 views
0 votes
1 answer

How to convert a list of vectors with various length into a Data.Frame?

We can easily use this command as.data.frame(lapply(d1, "length< ...READ MORE

answered Apr 4, 2018 in Data Analytics by DeepCoder786
• 1,700 points
45 views
0 votes
2 answers

In data frame how to spilt strings into values?

You can do this using dplyr and ...READ MORE

answered Dec 4, 2018 in Data Analytics by Kalgi
• 37,320 points
37 views
0 votes
1 answer
0 votes
1 answer

How to convert a text mining termDocumentMatrix into excel or csv in R?

By assuming that all the values are ...READ MORE

answered Apr 5, 2018 in Data Analytics by DeepCoder786
• 1,700 points
77 views