我的数据框很大,我想用整数替换一列中的值,这些值是字符串。此列中有超过一千个唯一字符串。一种方法是通过for循环。这是带有玩具数据集的代码:
data(mtcars)
library(stringr)
mtcars$gear = as.character(mtcars$gear)
unique_values = unique(mtcars$gear)
for (i in (1:length(unique_values))){
mtcars$gear = str_replace(string = mtcars$gear, pattern = unique_values[i], replacement = as.character(i))
}
有没有更有效的方法?
答案 0 :(得分:0)
使用dplyr
库应该可以解决问题:
data(mtcars)
library(stringr)
library(dplyr)
mtcars$gear = as.character(mtcars$gear)
mutate(mtcars, gear = as.integer(gear))