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

时间:2017-01-10 20:29:52

标签: r

  1. 我将数据集(original.csv)加载到R: 原始< - read.csv(“original.csv”)
  2. str(original)显示我的数据集有16个变量(14个因子,2个整数)。 14个变量缺少值。没关系,但3个原始数字的变量被称为因子。
  3. 我搜索了网页并获得了一个命令: as.numeric(as.character(original $ Tumor_Size)) (Tumor_Size是一个被称为因子的变量)。
  4. 顺便说一下,我的数据集中的缺失值标记为点(。)
  5. 在运行: as.numeric(as.character(原始$ Tumor_Size))之后,列出了Tumor_Size的值,最后出现了一个警告按钮:“强制引入的NAs”出现了。
  6. 我预计在运行上面的命令后,变量转换为数字,但第二个 str(原始)表明我猜错了,Tumor_Size和另外两个变量是因素。在下面是我的数据集的示例: a piece of my dataset
  7. 如何解决我的问题?

2 个答案:

答案 0 :(得分:5)

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

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

答案 1 :(得分:0)

我不是100%确定你的问题是什么,但也许这会有所帮助......

List<ExpandedUserDTO> col_UserDTO

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

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

希望这有帮助。