在R中将因子转换为数字

rwj*_*nes 0 r type-conversion

我知道这个问题的变化已被提出并得到解答,但我似乎无法为我工作.

我有一个标有'Interest.Rate'的列,其值为以下形式:12.75%

我试过了:

as.numeric(as.character(loansData$Interest.Rate))
Run Code Online (Sandbox Code Playgroud)

我得到的是一个充满'NA'的屏幕.

我怀疑我需要删除'%'符号,但我不确定.

有什么建议?

Jil*_*ina 5

你是对的,你需要删除'%'符号然后强制结果为数字

> set.seed(1)
> Interest.Rate <- as.factor(paste0(sample(10), "%"))
> as.numeric(as.character(Interest.Rate))  # problem!!
 [1] NA NA NA NA NA NA NA NA NA NA

> as.numeric(gsub("\\%", "", Interest.Rate))  # solution
 [1]  3  4  5  7  2  8  9  6 10  1
Run Code Online (Sandbox Code Playgroud)

  • @ChelseaE,如果原始帖子中有小数,则不会.你的"味道"会删除小数. (2认同)