【发布时间】:2017-06-20 23:12:18
【问题描述】:
我正在使用以下方法将“是”、“否”响应转换为数字数据,以便我可以将结果绘制成散点图。
> head(cust.df$email)
[1] "yes" "yes" "yes" "yes" "no" "yes"
> as.numeric(head(cust.df$email))
[1] NA NA NA NA NA NA
Warning message:
NAs introduced by coercion
如您所见,我收到此警告消息。最终结果是,当我创建散点图时,由于 NA,它是空的。
我什至尝试过用这种方法修复它。
as.factor(head(cust.df$email))
yes yes yes yes no yes
Levels: no yes
> as.numeric(head(cust.df$email))
[1] NA NA NA NA NA NA
Warning message:
NAs introduced by coercion
但是,这些都没有奏效。有人对如何解决这个问题有任何提示吗?数据确实有 341 个 NA。
【问题讨论】:
-
如果您提供reproducible example 会更容易提供帮助。
class(cust.df$email)是什么?另外,你想要什么值是/否? 0/1? 1/0? 2/10? -
感谢弗利克先生,
-
这是一个字符。我想要 2=是,1=否
-
您的修复不起作用,因为您转换为因子,但您没有将新的因子值分配给变量。你需要做类似
cust.df$email <- as.numeric(as.factor(cust.df$email))的事情。 -
我明白你的意思。我按照你的指示,现在它的作品。非常感谢。
标签: r