2010-10-31 61 views
0

我使用R table()函数,它只给我4222行,是否有某种配置接受更多的行?什么是R表函数最大尺寸?

+2

可以请你提供一个可重现的例子:http://gist.github.com/270442 – kohske 2010-10-31 09:14:35

回答

3

table功能不限于4222行。最有可能的是,打印限制会给你带来麻烦。

尝试:

options(max.print = 20000) 

此外,检查行的 “真实” 号码:

tbl <- table(state.division, state.region) 
nrow(tbl) 
+0

感谢这项工作 – Jayanth 2010-11-01 05:43:02

0

没有错,较大的表?什么给了你印象?

> set.seed(123) 
> fac <- factor(sample(10000, 10000, rep = TRUE)) 
> fac2 <- factor(sample(10000, 10000, rep = TRUE)) 
> tab <- table(fac, fac2) 
> str(tab) 
'table' int [1:6282, 1:6279] 0 0 0 0 0 0 0 0 0 0 ... 
- attr(*, "dimnames")=List of 2 
    ..$ fac : chr [1:6282] "1" "5" "7" "9" ... 
    ..$ fac2: chr [1:6279] "1" "2" "3" "4" ... 

印刷tab会造成问题 - 它需要一段时间才能产生,然后你会得到这样的信息:

[ reached getOption("max.print") -- omitted 6267 rows ]] 

你可以改变,通过改变options(max.print = XXXXX)其中XXXXX是一些大的数字。但是我不知道印刷这么大的桌子会带来什么?如果您尝试这样做以查看是否生成了正确的表格,请按尺寸显示,然后

> dim(tab) 
[1] 6282 6279 
> str(tab) 
'table' int [1:6282, 1:6279] 0 0 0 0 0 0 0 0 0 0 ... 
- attr(*, "dimnames")=List of 2 
    ..$ fac : chr [1:6282] "1" "5" "7" "9" ... 
    ..$ fac2: chr [1:6279] "1" "2" "3" "4" ... 

有帮助。

+0

谢谢我从早先的答案意识到我必须设置maxprint选项 – Jayanth 2010-11-01 05:44:01

+0

@Jayanth;是的,VitoshKa和我似乎一直在撰写我们的答案。 – 2010-11-01 07:47:59