如何将R中的所有百分比数据转换为小数?

How to convert all percentage data in R to decimal?

我有一个包含数值数据和分类数据的大型数据集。 许多列包含 % 数据,即“26.2%”,因为这些在 R 中不被识别为百分比,我希望将它们转换为小数。

我试过:

data2 <- as.numeric(sub("%", "",data,fixed=TRUE))/100

但是:

Warning message: NAs introduced by coercion

有人可以帮助解决 and/or 语法的正确方法吗?

如果你的数据是dataframe,则不能使用sub函数。 sub 用于向量。

逐列尝试使用相同的函数 例如

column1 <- as.numeric(sub("%", "",data$column1,fixed=TRUE))/100

你可以试试:

library(dplyr)
df %>% mutate_each(funs(as.numeric(gsub("%", "", ., fixed = TRUE))/100))

要应用于所有列,您可以将其他用户提供的代码与应用语句结合起来。例如,

apply(d,2, function(x){
 as.numeric(sub("%", "", x, fixed=TRUE))/100}

其中 d 是你的数据框