3
我發現了一些關於this線程中xts字段表示的信息,但我仍不清楚爲什麼xts是索引+矩陣。爲什麼不是索引+數據框?在使用因子和數字列時,這不會讓您有更大的靈活性嗎?爲什麼將xts實現爲矩陣而不是數據框?
一旦我將數據加載到文本文件中,大部分工作就是對全套或時間序列的子集執行數字操作。爲此,索引工作得很好,但我不得不通過諸如data.frame(data.matrix(myxts))
之類的調用來提取因子和數字列。
另外我發現使用$符號比矩陣索引更方便,雖然這是一個非常不同的問題。例如:
lm(myxts$Res ~ myxts$ThisVar + myxts$ThatVar)
是很容易,
lm(myxts[, "Res"] ~ myxts[, "ThisVar"] + myxts[, "ThatVar"]).
這個回答我的問題,而是如何昂貴是data.matrix()調用處理數字?它是否不能達到在字符串中使用字符矩陣與數據框的目的,從而獲得更好的性能? – 2012-01-14 15:27:12
我在撓我的腦袋。矩陣(任何類型)中都沒有因子變量,因爲矩陣對象會除去名稱和維度之外的所有屬性。我相信你錯過了Joshua所做的一點:你不需要在xts對象周圍包裝任何'data.frame'或'data.matrix'來將它的數值變成'lm',當它使用'與'或作爲數據參數傳遞給'lm'。 – 2012-01-14 15:37:10
另外'動物園'被設計爲一個增強的ts類(在R的核心),而這個類又是基於矩陣的。看動物園設計小插曲:http://cran.r-project.org/web/packages/zoo/vignettes/zoo-design.pdf。請注意動物園支持'$'。例如'庫(動物園); z < - zoo(cbind(a = 1:3,b = 4:6)); z $ a'。順便說一下,矩陣和數據幀之間的性能差異非常顯着。 – 2012-01-14 15:42:59