How to convert factor levels into character in R?

To convert factor levels into character then we can use as.character function by accessing the column of the data frame that contain factor values. For example, if we have a data frame df which contains a factor column named as Gender then this column can be converted into character column as as.character(df$Gender).

Example

y1<−as.factor(sample(c("India","Canada","Russia"),20,replace=TRUE))
y2<−rpois(20,3)
df2<−data.frame(y1,y2)
df2

Output

    y1   y2
1 Russia  4
2 Canada  1
3 India   5
4 India   3
5 India   3
6 Canada  3
7 Canada  1
8 Canada  1
9 Canada  0
10 India  4
11 Canada 4
12 Canada 5
13 Canada 3
14 India  3
15 Russia 4
16 India  4
17 Canada 3
18 Russia 7
19 India  2
20 Canada 3

Example

str(df2)

Output

'data.frame': 20 obs. of 2 variables:
$ y1: Factor w/ 3 levels "Canada","India",..: 3 1 2 2 2 1 1 1 1 2 ...
$ y2: int 4 1 5 3 3 3 1 1 0 4 ...

Converting y1 to character column −

df2$y1<−as.character(df2$y1)
str(df2)

Output

'data.frame': 20 obs. of 2 variables:
$ y1: chr "Russia" "Canada" "India" "India" ...
$ y2: int 4 1 5 3 3 3 1 1 0 4 ...
Updated on: 2026-03-11T22:50:52+05:30

5K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements