[英]Problem in Converting column's value of data frame in R-language
作為 R 的新手,我正在嘗試將列的值轉換為數據框中的數字。
我的代碼:
hData <- read.csv("outcome-of-care-measures.csv")
temp <- subset(hData, hData$State == "LA")
as.numeric(temp$Hospital.30.Day.Death..Mortality..Rates.from.Pneumonia)
當我粘貼這個
(temp$Hospital.30.Day.Death..Mortality..Rates.from.Pneumonia)
控制台中的代碼沒有轉換它返回:
[1] 12.5 12.7 13.0 9.6 9.8 11.5 9.5 11.2 10.2 11.1 9.7 9.6 9.3 11.0 13.5 9.3 10.6 9.9 12.0
[20] 11.3 12.6 13.1 10.7 11.2 9.9 9.7 9.2 14.2 10.6 10.8 10.1 12.6 12.7 7.4 12.9 10.1 12.9 11.0
[39] 11.7 10.6 8.4 11.7 11.0 10.8 12.6
轉換后返回:
[1] 26 28 31 118 120 16 117 13 3 12 119 118 115 11 36 115 7 121 21 14 27 32 8 13
[25] 121 119 114 43 7 9 2 27 28 97 30 2 30 11 18 7 106 18 11 9 27
請幫助我我錯過了什么......?
由於您的數據存儲為因子,因此將它們轉換為數字有點復雜。 R 常見問題解答指出:
如何將因子轉換為數字?
在將數值數據讀入 R 時(通常在讀入文件時),它們可能會作為因素出現。 如果 f 是這樣一個因素 object,您可以使用
as.numeric(as.character(f)) 來取回數字。 更有效但更難記住的是
as.numeric(levels(f))[as.integer(f)] 在任何情況下,不要為手頭的任務直接調用 as.numeric() 或他們的喜歡(as.numeric() 或 unclass() 給內部代碼)。
你應該試試這個,它會給你同樣的結果:
as.numeric(levels(temp$Hospital.30.Day.Death..Mortality..Rates.from.Pneumonia))
[temp$Hospital.30.Day.Death..Mortality..Rates.from.Pneumonia]
您也可以在R常見問題解答中查看原因。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.