2012-04-18 133 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