我的数据框的一列包含数值,其中一些包含“M”前缀,用于10 ^ 6表示。
>col
...
[1177] "38141" "39171" "37019" "38396" "28390" "29157" "10876" "28307" "0" "0" "0" "1.4 M"
[1189] "0" "0" "1.5 M" "36660" "37650" "94" "89672" "89898" "34962" "35907" "40170" "41255"
如何扩展它们以便我可以制作完整的数值列? 最初我使用strsplit和temp变量将它们存储为单独的列表
>spl_col<-strsplit(col, " ")
但随后我最终得到了一些包含2个值的键。不知道接下来该做什么。 非常感谢任何帮助
答案 0 :(得分:1)
我会用M
替换e6
(注意空格)并将其强制转换为数字。
> x <- c("3", "4", "1.5 M")
> as.numeric(gsub(pattern = " M", replacement = "e06", x = x))
[1] 3 4 1500000
答案 1 :(得分:0)
使用gsub
您可以删除特殊字符:
as.numeric(gsub('M| +','',c("1.5 M","1.4 M")))
[1] 1.5 1.4