繁体   English   中英

如何将缺少值的因子变量转换为数字变量?

[英]How can I convert a factor variable with missing values to a numeric variable?

  1. 我将数据集(original.csv)加载到R: 原始<-read.csv(“ original.csv”)
  2. str(原始)显示我的数据集有16个变量(14个因子,2个整数)。 14个变量缺少值。 可以,但是原来为数字的3个变量被称为因素。
  3. 我搜索了网络,并得到了一条命令: as.numeric(as.character(original $ Tumor_Size)) (Tumor_Size是一个已被称为factor的变量)。
  4. 顺便说一句,我的数据集中的缺失值被标记为点(。)。
  5. 运行后: as.numeric(as.character(original $ Tumor_Size)) ,列出了Tumor_Size的值,最后出现警告消息:“强制引入的NAs”。
  6. 我期望在执行上述命令后,变量会转换为数字,但是第二个str(original)表明我的猜测是错误的,并且Tumor_Size和另外两个变量是因素。 下面是我的数据集的示例: 我的数据集的一部分

我该如何解决我的问题?

此处的关键信息是如何在数据文件中编码缺失值。 read.csv()的相应参数称为na.strings 因此,如果使用点:

original <- read.csv("original.csv", na.strings = ".")

我不是100%知道您的问题是什么,但这也许会有所帮助....

original<-read.csv("original.csv",header = TRUE,stringsAsFactors = FALSE)
original$Tumor_Size<-as.numeric(original$Tumor_Size)

这将引入NA,因为它无法将您的dot(。)转换为数值。 如果您尝试再次用点代替NA,它将返回该字段作为字符,您可以使用此方法,

original$Tumor_Size[is.na(original$Tumor_Size)]<-"."

希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM