我今天發現了一些奇怪的東西,我想問你是否存在我所看到的邏輯原因,或者如果你認爲這是一個錯誤應報告給R-devel的團隊:as.matrix不保留空數據的數據模式。框架
df <- data.frame(a = 1L:10L)
class(df$a)
# [1] "integer"
m <- as.matrix(df)
class(m[, "a"])
# [1] "integer"
沒有驚喜至今:as.matrix
保留數據模式,這裏的「整數」。然而,空(沒有行)data.frame:
df <- data.frame(a = integer(0))
class(df$a)
# [1] "integer"
m <- as.matrix(df)
class(m[, "a"])
# [1] "logical"
任何想法,爲什麼從「整數」模式改變爲「邏輯」在這裏?我正在使用版本2.13.1
謝謝。
不知道爲什麼會發生這種情況,但是您最好在發佈到R-devel之前在最新快照上測試它。他們不喜歡6個月大的R版本的「bug報告」。 – 2012-03-16 23:57:34
我在這裏得到了相同的行爲,R版本2.14.1(2011-12-22)。 – 2012-03-16 23:58:35
而我在2.14.2中看到同樣的東西 – joran 2012-03-17 00:04:05