x <- "?0.06"
x %>% as.numeric()
[1] NA
Run Code Online (Sandbox Code Playgroud)
根据这篇文章,简单地使用 as.numeric 应该会自动处理字符串中的负数值,但在我的情况下则不然。
我正在使用 dplyr::mutate 跨具有一些负值和正值的变量。如果我不能用作数字,如果它们采用上述形式,我可以在这里做什么来处理负面情况?
问题似乎是符号?,而不是-. 这可能是直接从 pdf 复制并得到不同符号的结果。如果我们创建一个新的
x <- "-0.06"
as.numeric(x)
#[1] -0.06
Run Code Online (Sandbox Code Playgroud)
使用 OP 的代码
as.numeric(x)
#[1] NA
Run Code Online (Sandbox Code Playgroud)
如果我们转换为 raw
charToRaw(x) # from OP's post
#[1] e2 88 92 30 2e 30 36
Run Code Online (Sandbox Code Playgroud)
单独使用符号
charToRaw("?")
#[1] e2 88 92
Run Code Online (Sandbox Code Playgroud)
一个新鲜构建的
charToRaw(x)
#[1] 2d 30 2e 30 36
Run Code Online (Sandbox Code Playgroud)
实际的 -
charToRaw("-")
#[1] 2d
Run Code Online (Sandbox Code Playgroud)