无法将R中的系数转换为数值

无法将R中的系数转换为数值,r,R,我试过: i因为数据有逗号,R无法将其转换为数字。您必须先删除带有sub()的逗号,然后再转换: i <- as.numeric(gsub(",", "", as.character(impress))) i就计算机而言,,不是一个数字,因此任何包含它的数字字符串都不能是数字,即使对人类来说这些数字看起来是完全可以接受的数字 去掉,,然后它就会工作,例如使用gsub() i是.numeric(i) [1] 真的 sub()在这里不起作用,因为这里有不止一个,(或者至少我忘了如何让sub

我试过:


  • i因为数据有逗号,R无法将其转换为数字。您必须先删除带有
    sub()
    的逗号,然后再转换:

    i <- as.numeric(gsub(",", "", as.character(impress)))
    

    i就计算机而言,
    不是一个数字,因此任何包含它的数字字符串都不能是数字,即使对人类来说这些数字看起来是完全可以接受的数字

    去掉
    ,然后它就会工作,例如使用
    gsub()

    i是.numeric(i)
    [1] 真的
    
    sub()
    在这里不起作用,因为这里有不止一个
    (或者至少我忘了如何让
    sub()
    在那种情况下工作。)
    gsub()
    解决了这个问题。对,
    sub()
    只替换第一个,而
    gsub()
    替换所有。我更新了我的答案。非常感谢!谢谢
    > Impress
     [1]  24,085,563.00   35,962,587.00   31,714,513.00   28,206,422.00   40,161,010.00   36,292,929.00   31,545,482.00 
     [8]  28,213,878.00   35,799,224.00   32,400,885.00   28,496,459.00   37,456,344.00   38,108,667.00   33,407,771.00 
    [15]  32,540,479.00   30,692,707.00   22,873,000.00   21,329,146.00   28,921,953.00   30,471,519.00   28,601,289.00 
    [22]  27,450,630.00   26,708,790.00   19,825,041.00   18,844,169.00   29,592,039.00   31,012,594.00   28,792,531.00 
    [29]  28,578,028.00   24,913,985.00 
    30 Levels:  18,844,169.00   19,825,041.00   21,329,146.00   22,873,000.00   24,085,563.00   24,913,985.00  ...  40,161,010.00 
    
    > paste(Impress)
     [1] " 24,085,563.00 " " 35,962,587.00 " " 31,714,513.00 " " 28,206,422.00 " " 40,161,010.00 " " 36,292,929.00 " " 31,545,482.00 "
     [8] " 28,213,878.00 " " 35,799,224.00 " " 32,400,885.00 " " 28,496,459.00 " " 37,456,344.00 " " 38,108,667.00 " " 33,407,771.00 "
    [15] " 32,540,479.00 " " 30,692,707.00 " " 22,873,000.00 " " 21,329,146.00 " " 28,921,953.00 " " 30,471,519.00 " " 28,601,289.00 "
    [22] " 27,450,630.00 " " 26,708,790.00 " " 19,825,041.00 " " 18,844,169.00 " " 29,592,039.00 " " 31,012,594.00 " " 28,792,531.00 "
    [29] " 28,578,028.00 " " 24,913,985.00 "
    
    i <- as.numeric(gsub(",", "", as.character(impress)))
    
    i <- as.numeric(gsub(",", "", as.character(Impress)))
    
    Impress <- c("24,085,563.00", "35,962,587.00", "31,714,513.00", "28,206,422.00")
    gsub(",", "", as.character(Impress))
    i <- as.numeric(gsub(",", "", as.character(Impress)))
    i
    
    R> gsub(",", "", as.character(Impress))
    [1] "24085563.00" "35962587.00" "31714513.00" "28206422.00"
    R> i
    [1] 24085563 35962587 31714513 28206422
    R> is.numeric(i)
    [1] TRUE