To add a docendo discimus answer , expanding with non-contiguous columns and returning data.frame :
x1 <- c("10%", "20%", "30%") x2 <- c("60%", "50%", "40%") x3 <- c(1, 2, 3) x4 <- c("60%", "50%", "40%") x <- data.frame(x1, x2, x3, x4) x[, c(1:2, 4)] <- as.data.frame(apply(x[,c(1:2, 4)], 2, function(x) { as.numeric(gsub("%", "", x))} )) > x x1 x2 x3 x4 1 10 60 1 60 2 20 50 2 50 3 30 40 3 40 > class(x) [1] "data.frame"
bathyscapher
source share