【问题标题】:How does R convert characters to numbers? [closed]R如何将字符转换为数字? [关闭]
【发布时间】:2016-11-07 10:47:15
【问题描述】:

不是一个特别有用的问题,但是...

我不小心将字符列(包含字母和数字的组合)转换为数字列;这让我想知道 R 究竟是如何进行这种转换的?

【问题讨论】:

标签: r type-conversion character numeric letter


【解决方案1】:

这取决于原始字符向量的编码方式。如果它是一个真正的字符向量,任何不是数字的值都会被替换为 NA:

dat <- c("a","b","c","d","a1","2b", "3")
as.numeric(dat)
# [1] NA NA NA NA NA NA  3
# Warning message:
# NAs introduced by coercion 

但是,如果向量是一个因子,那么 R 使用因子水平来分配数值:

dat <- as.factor(c("a","b","c","d","a1","2b", "3"))
dat
# [1] a  b  c  d  a1 2b 3 
# Levels: 2b 3 a a1 b c d
as.numeric(dat)
# [1] 3 5 6 7 4 1 2

【讨论】:

    猜你喜欢
    • 2015-08-17
    • 1970-01-01
    • 2018-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多