这个问题在这里已有答案:
我有一个关于如何在R中使用 as.numeric
函数时避免 NA
的问题 . 如下所示,我有 cumulative_viewers
的字符变量(但其值是数字),我想通过 as.numeric
将其转换为数字,但它没有好好工作 . 问题是当数值的位数超过四位时 as.numeric
函数返回 NA
,即使值是数字 . 例如, as.numeric
函数与'999'或'997'的值一起工作,当位数超过4时,例如'1000'或'1001'或'999999',则 as.numeric
函数返回 NA =.=;;;;;;;;;;;;
而不是其实际数值....
有谁可以帮我解决问题?我发了一天来处理它但是还没有答案TT> TT
paste(data_without_duplicates$cumulative_viewers)
[1] "12,983,336" "12,323,294" "11,375,954" "10,917,221" "10,667,700"
[6] "10,292,386" "9,350,192" "9,135,520" "9,001,309" "8,653,415"
[11] "7,784,755" "7,508,976" "7,362,790" "6,959,047" "6,706,543"
.....
[1426] "1,026" "1,024" "1,023" "1,020" "1,017"
[1431] "1,016" "1,013" "1,011" "1,001" "1,000"
[1436] "1,000" "999" "997" "994" "990"
[1441] "989" "988" "984" "982" "979"
[1446] "974" "972" "971" "966" "961"
as.numeric(data_without_duplicates$cumulative_viewers)
[1] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
[18] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
[35] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
.......
[1395] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
[1412] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
[1429] NA NA NA NA NA NA NA NA 999 997 994 990 989 988 984 982 979
[1446] 974 972 971 966 961 959 958 957 950 946 941 930 929 911 911 910 910
[1463] 910 907 907 902 898 897 895 892 890 890 889 885 885 883 872 871 868
2 回答
这不是数字位数的问题,只是你的四位或更多位数的数字中有逗号:
它看起来好像你的数据中的逗号是问题 . 可能有很多方法可以解决这个问题 .
这是一个