Convert from lowercase to uppercase all values in all character variables in dataframe
Solution 1:
Starting with the following sample data :
df <- data.frame(v1=letters[1:5],v2=1:5,v3=letters[10:14],stringsAsFactors=FALSE)
v1 v2 v3
1 a 1 j
2 b 2 k
3 c 3 l
4 d 4 m
5 e 5 n
You can use :
data.frame(lapply(df, function(v) {
if (is.character(v)) return(toupper(v))
else return(v)
}))
Which gives :
v1 v2 v3
1 A 1 J
2 B 2 K
3 C 3 L
4 D 4 M
5 E 5 N
Solution 2:
From the dplyr
package you can also use the mutate_all()
function in combination with toupper()
. This will affect both character and factor classes.
library(dplyr)
df <- mutate_all(df, funs=toupper)
Solution 3:
It simple with apply function in R
f <- apply(f,2,toupper)
No need to check if the column is character or any other type.