簡體   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