R:矩阵,其元素是任何类型的对象

时间:2015-12-04 12:52:55

标签: r

我需要创建一个矩阵,其元素可以是任何类型的R对象。

string 1         string 2  ...    string n  

object[1, 1]    object[1, 2]     object[1, n]
...              ....             ...
object[n, 1]    object[n, 2]     object[1, n]

(字符串1,...,字符串n应该是列的标签)

这样的矩阵存在吗?提前致谢

我试过了:

vect1<-c(returns1, returns2, returns3, returns4)
vect2<-c(param1, param2, param3, param4)
vect3<-c(param5, param6, param7, param8)

frame<-data.frame(vect1, vect2, vect3)

returns1,...,returns4是&#34; xts&#34; &#34;动物园&#34;对象

param1,...,param4是fPortfolio包中的投资组合对象:

class(param1)
[1] "fPFOLIOSPEC"
attr(,"package")
[1] "fPortfolio"

param5,...,param8的课程是:&#34;字符&#34;

尽管如此:

frame<-data.frame(vect1, vect2, vect3)

给我一​​个错误:R无法转换&#34; fPFOLIOSPEC&#34;,package =&#34; fPortfolio&#34; class into data.frame ...

所以data.frame不能包含fPFOLIOSPEC,fPortfolio元素......

您现在将如何将这种对象包含在类似矩阵的结构中吗?

1 个答案:

答案 0 :(得分:0)

在矩阵中,ALL列必须具有相同的类型(数字,字符,因子等)。

如果每列都有不同的类型(数字,字符,因子等),您可以构建数据框,但是对于每列,您只能保存相同类型的数据(否则,它们将转换为相同的类型; R的一般经验法则是“更大的类型获胜”。