4
以下作品中的R數據幀/ SPLUS
myarray <- as.array(list(c(5,5), 9, c(4,2,2,4,6)))
mydf <- as.data.frame(myarray)
但在SPLUS細它不---給出錯誤消息:
Problem in data.frameAux.list(x, na.strings = na.st..: arguments imply differing
number of rows: 2, 1, 5
Use traceback() to see the call stack
問:這是怎麼回事?我如何才能在Splus中工作?
編輯:我應該更清楚爲什麼我要經歷這個奇怪的過程,將list
視爲data.frame
。這是因爲我最終喜歡做這樣的事情在SPLUS如下:
mypos <- timeSeq("1/1/08", "1/3/08", by = "days")
myts <- timeSeries(data = mydf, positions = mypos)
最好的可行的選擇,現在,我想,將是建立一個像列表:
mytshack <- list(mypos, as.list(myarray))
但這是笨重的,我想獲得timeSeries
的功能,如果可能的話
@Joris:嗯,這是我想要的。我沒有提到的是,'1,2,3'實際上對應於日曆日期,'5,5'對應於兩個事件,每個大小爲5,發生在第1天內。最後,我希望把它變成一個'timeSeries'對象。 – lowndrul 2011-03-17 17:18:26
@brianjd:爲什麼要使用'as.data.frame'而不是'list'? – 2011-03-17 17:26:50
@Joris:我剛剛編輯了我的原始問題,以包括我將'list'作爲'data.frame'對待的背景信息。這是因爲我最終希望從'data.frame'構建一個'timeSeries'對象,並且能夠按日期進行子集的設置。我只能把所有東西(包括日期)放在一個列表中,就像我在編輯中提到的那樣(實際上,現在看起來像是唯一的選項),但訪問與日期相對應的數據的子元素會很笨重並且需要輔助函數。順便說一句,我很欣賞迄今爲止的討論。謝謝! – lowndrul 2011-03-17 17:44:58