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