There are multiple items in the list that you have named table. (Not a good practice: there's a function by that name.)
str(tbl) List of 18 $ :'data.frame': 12 obs. of 45 variables: ..$ X1 : chr [1:12] "Rank\nGroup/company\nDirect premiums written (1)\nMarket share (2)\n1\nState Farm Mutual Automobile Insurance\n"| __truncated__ "Rank" "1" "2" ... ..$ X2 : chr [1:12] "Rank" "Group/company" "State Farm Mutual Automobile Insurance" "Berkshire Hathaway Inc." ... ..$ X3 : chr [1:12] "Group/company" "Direct premiums written (1)" "$64,892,583" "38,408,251" ... snippped rest of long output
Perhaps you only want the last one?
tbl[[18]] Rank Group/company 1 1 State Farm Mutual Automobile Insurance 2 2 Berkshire Hathaway Inc. 3 3 Liberty Mutual 4 4 Allstate Corp. 5 5 Progressive Corp. 6 6 Travelers Companies Inc. 7 7 Chubb Ltd. 8 8 Nationwide Mutual Group 9 9 Farmers Insurance Group of Companies (3) 10 10 USAA Insurance Group Direct premiums written (1) Market share (2) 1 $62,189,311 10.2% 2 33,300,439 5.4 3 32,217,215 5.3 4 30,875,771 5.0 5 23,951,690 3.9 6 23,918,048 3.9 7 20,786,847 3.4 8 19,756,093 3.2 9 19,677,601 3.2 10 18,273,675 3.0
Nope; going back to the page it's clear you want the first, but its structure appears to have been misinterpreted and the data has been arranged as "wide", with all the data residing in the first row. So some of the columns are being displayed and the rest of the data seems to be messed up; Just take columns 2:4:
tbl[[1]][ ,c('X2','X3','X4')] X2 X3 1 Rank Group/company 2 Group/company Direct premiums written (1) 3 State Farm Mutual Automobile Insurance $64,892,583 4 Berkshire Hathaway Inc. 38,408,251 5 Liberty Mutual 33,831,726 6 Allstate Corp. 31,501,664 7 Progressive Corp. 27,862,882 8 Travelers Companies Inc. 24,875,076 9 Chubb Ltd. 21,266,737 10 USAA Insurance Group 20,151,368 11 Farmers Insurance Group of Companies (3) 19,855,517 12 Nationwide Mutual Group 19,218,907 X4 1 Direct premiums written (1) 2 Market share (2) 3 10.1% 4 6.0 5 5.3 6 4.9 7 4.3 8 3.9 9 3.3 10 3.1 11 3.1 12 3.0