2010-10-31 48 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