2012-04-18 128 views
0

我的Ldt1對象具有以下屬性。可以更改R對象的屬性

> is(Ldt1) 
[1] "data.frame" "list"  "oldClass" "vector" 

我只想將其更改爲data.frame。我該怎麼做 ?

編輯:

我在回答「爲什麼?」的問題。

我需要在兩個軟件包之間工作。第一個包對不同的類對象起作用,第二個包對不同的類起作用。在數據處理過程中,我有附有對象,提供一個錯誤信息作爲uncessary類類型的麻煩:

No method for an object of class genotypeNo method for an object of class factor 
+0

as.data.frame? – 2012-04-18 04:23:05

回答

2

你根本無法。所有的data.frames都是列表,所有的列表都是向量。 (爲什麼你會想要做這樣的事情呢?)

將編寫正確編寫的方法,以查看所需的類是在類屬性的列表中還是在其某個繼承的類中。就你而言,你(或你的程序之一)似乎已經犯了一個數據輸入錯誤,並將你認爲應該是一個數字向量的東西變成了一個向量因子,或者設計者認爲一個因子變量是要返回的邏輯對象。有可能你可以通過識別對象或組件並用'as.numeric(as.character(facvar))`強制成功。 (That particular method is a FAQ question.)這裏更好的方法是識別輸入或處理錯誤的來源。

+0

感謝您的回覆。請參閱我的編輯爲什麼我需要這些,而我的實際班級類型與我提供的不同,但我只是想概括這個問題 – jon 2012-04-18 10:43:52