做log linear model之前要创建一个table,table中有95的vector,每一个vector的大小是7w(会逐渐增加到千万),vector中的值,只有0或1。
我想用创建vector的语句创建了95个vector,如
i1<-(0,1,0,1,0,1)
...
i95<-(0,1,1,1,0,1)
此处缩短了了,只写了6个,实际大小是7w。
然后运行下面的语句:
tTableName<- table(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14,i15,i16,i17,i18,i19,i20,i21,i22,
i23,i24,i25,i26,i27,i28,i29,i30,i31,i32,i33,i34,i35,i36,i37,i38,i39,i40,i41,i42,i43,
i44,i45,i46,i47,i48,i49,i50,i51,i52,i53,i54,i55,i56,i57,i58,i59,i60,i61,i62,i63,i64,
i65,i66,i67,i68,i69,i70,i71,i72,i73,i74,i75,i76,i77,i78,i79,i80,i81,i82,i83,i84,i85,
i86,i87,i88,i89,i90,i91,i92,i93,i94,i95)
出错,错误信息如下:
Error in vector("integer", length) : vector size cannot be NA
Calls: table ... array -> as.vector -> tabulate -> integer -> vector
In addition: Warning message:
In pd * nl : NAs produced by integer overflow
Execution halted
我想请问
1.是不是table的大小有限制?在网上没有查到可信的资料,总是说和内存有关。。。
2.我最终目的是找log linear model,求contingency table,是不是有更高效的R语句
谢谢
R中使用vector创建table的问题
每次看到用这么一长串变量名我都想一头撞死(数据框data.frame和列表list到底怎么得罪你了……),然后一头没撞死,爬起来再看到一长串没有空格无法换行的代码,我又奔墙去了。
95维的列联表我也没见过,这回是吓死了。整数都溢出了。我很好奇这么大个列联表有什么用呢?
回复 第2楼 的 谢益辉:你还活着呢吧。。。我有一个table存了7w个sample tuples,95个属性。我想找属性之间的correlation。然后用得到的列联表求population中的某些属性=1,某些属性=0的概率。(没说清楚的话我就再解释,你别撞墙了)
用得着95个属性一起上么……关联规则?我不知道……
回复 第4楼 的 谢益辉:不用95个一起上,但是以防万一,先算最大的,就出错了了,2,3个是没问题的。那我想知道做列联表的话,R支持的最大table最大是多少呢?生成vector的话最大是多少呢? (网上不好查的,我查过了。。。)
弱问一句,log linear model不就是Poisson regression么,需要这么费劲儿么?
table就是个matrix,matrix就是个vector,vector最大就2^32-1
回复 第6楼 的 micro@:是poisson regression。。。弱问你怎么求的呀? 第二句: 同意。我今天试了下构造个大matrix,一列,1e11行的,然后报错超出整数范围。呵呵。