Exctracting雙打的向量我使用read.table()
具有或不具有header=T
這個問題,嘗試從得到的data.frame
提取與as.double(as.character())
雙打的載體(參見?factor
)。的R - 從data.frame
但這只是如何我意識到我不明白R的邏輯。所以你不會看到例如read.table
在下面的代碼中,只有必要的部分。你能告訴我下列選項有什麼區別?
隨着
header=T
相當於:(a <- data.frame(array(c(0.5,0.5,0.5,0.5), c(1,4)))) as.character(a) # [1] "0.5" "0.5" "0.5" "0.5"
沒有
header=T
相當於:b <- data.frame(array(c("a",0.5,"b",0.5,"c",0.5,"d",0.5), c(2,4))) (a <- b[2,]) as.character(a) # [1] "1" "1" "1" "1" (a <- data.frame(a, row.names=NULL)) # now there's not even a visual difference as.character(a) # [1] "1" "1" "1" "1"
你處理'factor's。在您的'data.frame'步驟中添加'stringsAsFactors = FALSE'並進行比較。 – A5C1D2H2I1M1N2O1R2T1 2014-10-04 16:57:23
使用'read.table'和變體時的'stringsAsFactors'轉換是混淆的常見原因。與往常一樣,在數據中使用'str'來準確理解您正在處理的內容可能非常有價值。一旦你意識到'stringsAsFactors'的參數,它就成爲一個非常有用的工具。如果您選擇'options(stringsAsFactors = FALSE)',您也可以在全局範圍內設置該選項。 – 2014-10-04 17:04:38
哇,謝謝。我會閱讀一些因素。 – 9877126 2014-10-04 17:04:50