R从字符到数字的转换会生成NA

问题描述

我需要将“字符”格式的列转换为“数字”格式。但是,当我执行转换时,该列中的所有观测值都变为NA。任何想法如何解决这个问题?这是我正在使用的代码

bd$x2 <- as.numeric(as.character(bd$x))

数据来自excel(这就是为什么我无法与您共享数据的原因)。有人遇到过类似情况吗?您认为我该如何解决

解决方法

如果您的数据已经是字符,则可以在代码中将其删除,即是

bd$x2 <- as.numeric(bd$x)

如果您的数据已经包含NA且仍保存为字符,请确保将其另存为NA。 例如这样的

bd$x<- ifelse(bd$x=="NA",NA,bd$x)

确保在将excel数据加载到R中的同时,将NA手动设置为NA。那应该已经解决了问题