grep排除多个列R.

时间:2016-08-18 22:27:34

标签: r dplyr negate

我有几个包含多列数字数据的表。列数可以变化。每个表有3列(Player,Team,Pos),没有数字数据。我已经提出以下内容将除上述3之外的每一列转换为数字,但我遇到了一个我无法解释的错误。

这是函数

qb2 <- qb %>% mutate_at(grep("^(`?!`Player|`?!`Team|`?!`Pos).*$",
    colnames(.)),funs(as.numeric))

以这种方式运行时,我在玩家,团队&amp; amp;位置 故障排除我可以让它像这样部分工作

qb2 <- qb %>% mutate_at(grep("^(`?!`Player|Team|`?!`Pos).*$", 
    colnames(.)),funs(as.numeric))

播放器和Pos正确显示,但当然Team仍然是NA 我不确定为什么从团队中删除?!部分工作。

让我知道导致grep / exclude失败的错误。

示例数据

structure(list(Player = c("Matt Schaub", "Jimmy Garoppolo", "Tom Savage", 
"Dan Orlovsky", "Cardale Jones", "Ryan Griffin", "Sean Mannion", 
"Luke McCown", "Scott Tolzien", "Dak Prescott", "Brandon Allen", 
"Garrett Grayson", "AJ McCarron", "Joe Callahan", "Matt Moore", 
"Matt Barkley", "Blake Bortles", "Stephen Morris", "Sean Renfree", 
"Mark Sanchez", "Jameill Showers", "Thad Lewis", "Jameis Winston", 
"Kellen Clemens", "Chad Henne", "Derek Anderson", "Bryce Petty", 
"Teddy Bridgewater", "Ryan Mallett", "EJ Manuel", "Nate Sudfeld", 
"Joe Webb", "Carson Wentz", "Trevor Siemian", "Mike Glennon", 
"Josh Johnson", "Joe Licata", "Brian Hoyer", "Geno Smith", "Joel Stave", 
"Ryan Nassib", "Paxton Lynch", "Ryan Fitzpatrick", "Jake Rudock", 
"Connor Cook", "Robert Griffin III", "Alex Tanney", "Brandon Doughty", 
"Philip Rivers", "Blaine Gabbert", "Case Keenum", "Matthew Stafford", 
"Matt Cassel", "Landry Jones", "Marquise Williams", "Colt McCoy", 
"Shaun Hill", "Aaron Murray", "Dustin Vaughan", "Tyler Bray", 
"Mike Bercovici", "Marcus Mariota", "Derek Carr", "Drew Stanton", 
"Matt McGloin", "Kirk Cousins", "Jared Goff", "Carson Palmer", 
"Drew Brees", "Nick Foles", "Cam Newton", "Alex Smith", "Russell Wilson", 
"Jake Heaps", "Andy Dalton", "Austin Davis", "David Fales", "Keith Wenning", 
"Brock Osweiler", "Bruce Gradkowski", "Zach Mettenberger", "Kevin Hogan", 
"Jeff Driskel", "Jay Cutler", "Connor Shaw", "Jake Coker", "Zac Dysert", 
"Chase Daniel", "Cody Kessler", "Logan Thomas", "Ryan Tannehill", 
"McLeod Bethel-Thompson", "Jerrod Johnson", "Tyrod Taylor", "Josh McCown", 
"Sam Bradford", "Matt Ryan", "Matt Simms"), Team = c("ATL", "NE", 
"HOU", "DET", "BUF", "TB", "LA", "NO", "IND", "DAL", "JAX", "NO", 
"CIN", "GB", "MIA", "ARI", "JAX", "IND", "ATL", "DEN", "DAL", 
"SF", "TB", "SD", "JAX", "CAR", "NYJ", "MIN", "BAL", "BUF", "WAS", 
"CAR", "PHI", "DEN", "TB", "BAL", "CIN", "CHI", "NYJ", "MIN", 
"NYG", "DEN", "NYJ", "DET", "OAK", "CLE", "TEN", "MIA", "SD", 
"SF", "LA", "DET", "TEN", "PIT", "GB", "WAS", "MIN", "KC", "PIT", 
"KC", "SD", "TEN", "OAK", "ARI", "OAK", "WAS", "LA", "ARI", "NO", 
"KC", "CAR", "KC", "SEA", "SEA", "CIN", "CLE", "CHI", "CIN", 
"HOU", "PIT", "SD", "KC", "SF", "CHI", "CHI", "ARI", "MIA", "PHI", 
"CLE", "NYG", "MIA", "PHI", "BAL", "BUF", "CLE", "PHI", "ATL", 
"ATL"), Pos = c("QB", "QB", "QB", "QB", "QB", "QB", "QB", "QB", 
"QB", "QB", "QB", "QB", "QB", "QB", "QB", "QB", "QB", "QB", "QB", 
"QB", "QB", "QB", "QB", "QB", "QB", "QB", "QB", "QB", "QB", "QB", 
"QB", "QB", "QB", "QB", "QB", "QB", "QB", "QB", "QB", "QB", "QB", 
"QB", "QB", "QB", "QB", "QB", "QB", "QB", "QB", "QB", "QB", "QB", 
"QB", "QB", "QB", "QB", "QB", "QB", "QB", "QB", "QB", "QB", "QB", 
"QB", "QB", "QB", "QB", "QB", "QB", "QB", "QB", "QB", "QB", "QB", 
"QB", "QB", "QB", "QB", "QB", "QB", "QB", "QB", "QB", "QB", "QB", 
"QB", "QB", "QB", "QB", "QB", "QB", "QB", "QB", "QB", "QB", "QB", 
"QB", "QB"), `
Comp` = c("10", "11", "14", "16", "11", "13", 
"18", "18", "12", "10", "10", "10", "11", "16", "10", "8", "6", 
"5", "5", "10", "8", "12", "7", "8", "8", "7", "7", "6", "11", 
"10", "10", "9", "12", "7", "7", "8", "3", "7", "8", "8", "7", 
"6", "3", "8", "7", "4", "6", "7", "2", "4", "6", "4", "3", "6", 
"6", "7", "6", "3", "6", "3", "3", "5", "3", "2", "5", "5", "4", 
"3", "1", "4", "5", "3", "3", "3", "4", "4", "4", "3", "4", "3", 
"2", "2", "4", "3", "2", "2", "1", "4", "2", "2", "2", "1", "1", 
"2", "1", "1", "0", "0"), `
Att` = c("15", "18", "24", "25", 
"21", "23", "25", "27", "23", "12", "19", "16", "16", "23", "14", 
"24", "7", "9", "9", "13", "16", "21", "9", "15", "9", "14", 
"14", "7", "15", "18", "15", "16", "24", "12", "14", "11", "7", 
"10", "14", "13", "15", "7", "4", "11", "11", "8", "10", "9", 
"3", "10", "7", "6", "5", "12", "14", "11", "7", "5", "11", "9", 
"6", "5", "7", "6", "11", "5", "9", "5", "1", "8", "6", "4", 
"6", "10", "5", "9", "8", "8", "7", "3", "8", "6", "12", "4", 
"4", "5", "2", "10", "2", "3", "4", "1", "2", "3", "4", "1", 
"4", "3"), `
Pct` = c("66.7", "61.1", "58.3", "64.0", "52.4", 
"56.5", "72.0", "66.7", "52.2", "83.3", "52.6", "62.5", "68.8", 
"69.6", "71.4", "33.3", "85.7", "55.6", "55.6", "76.9", "50.0", 
"57.1", "77.8", "53.3", "88.9", "50.0", "50.0", "85.7", "73.3", 
"55.6", "66.7", "56.3", "50.0", "58.3", "50.0", "72.7", "42.9", 
"70.0", "57.1", "61.5", "46.7", "85.7", "75.0", "72.7", "63.6", 
"50.0", "60.0", "77.8", "66.7", "40.0", "85.7", "66.7", "60.0", 
"50.0", "42.9", "63.6", "85.7", "60.0", "54.5", "33.3", "50.0", 
"100.0", "42.9", "33.3", "45.5", "100.0", "44.4", "60.0", "100.0", 
"50.0", "83.3", "75.0", "50.0", "30.0", "80.0", "44.4", "50.0", 
"37.5", "57.1", "100.0", "25.0", "33.3", "33.3", "75.0", "50.0", 
"40.0", "50.0", "40.0", "100.0", "66.7", "50.0", "100.0", "50.0", 
"66.7", "25.0", "100.0", "0.0", "0.0"), `
Att/G` = c("15.0", 
"18.0", "24.0", "25.0", "21.0", "23.0", "25.0", "27.0", "23.0", 
"12.0", "19.0", "16.0", "16.0", "23.0", "14.0", "24.0", "7.0", 
"9.0", "9.0", "13.0", "16.0", "21.0", "9.0", "15.0", "9.0", "14.0", 
"14.0", "7.0", "15.0", "18.0", "15.0", "16.0", "24.0", "12.0", 
"14.0", "11.0", "7.0", "10.0", "14.0", "13.0", "15.0", "7.0", 
"4.0", "11.0", "11.0", "8.0", "10.0", "9.0", "3.0", "10.0", "7.0", 
"6.0", "5.0", "12.0", "14.0", "11.0", "7.0", "5.0", "11.0", "9.0", 
"6.0", "5.0", "7.0", "6.0", "11.0", "5.0", "9.0", "5.0", "1.0", 
"8.0", "6.0", "4.0", "6.0", "10.0", "5.0", "9.0", "8.0", "8.0", 
"7.0", "3.0", "8.0", "6.0", "12.0", "4.0", "4.0", "5.0", "2.0", 
"10.0", "2.0", "3.0", "4.0", "1.0", "2.0", "3.0", "4.0", "1.0", 
"4.0", "3.0"), `
Yds` = c("179", "168", "168", "164", "162", 
"148", "147", "143", "140", "139", "138", "133", "125", "124", 
"122", "121", "105", "104", "101", "99", "99", "97", "97", "96", 
"94", "93", "93", "92", "91", "91", "89", "89", "89", "88", "83", 
"83", "82", "81", "79", "76", "75", "74", "72", "72", "71", "67", 
"67", "66", "64", "63", "58", "58", "55", "55", "55", "53", "52", 
"52", "50", "48", "46", "45", "44", "42", "41", "39", "38", "38", 
"37", "37", "36", "36", "34", "33", "32", "32", "30", "28", "27", 
"22", "22", "21", "20", "18", "17", "16", "16", "15", "15", "12", 
"8", "7", "7", "7", "5", "3", "0", "0"), `
Avg` = c("11.9", "9.3", 
"7.0", "6.6", "7.7", "6.4", "5.9", "5.3", "6.1", "11.6", "7.3", 
"8.3", "7.8", "5.4", "8.7", "5.0", "15.0", "11.6", "11.2", "7.6", 
"6.2", "4.6", "10.8", "6.4", "10.4", "6.6", "6.6", "13.1", "6.1", 
"5.1", "5.9", "5.6", "3.7", "7.3", "5.9", "7.5", "11.7", "8.1", 
"5.6", "5.8", "5.0", "10.6", "18.0", "6.5", "6.5", "8.4", "6.7", 
"7.3", "21.3", "6.3", "8.3", "9.7", "11.0", "4.6", "3.9", "4.8", 
"7.4", "10.4", "4.5", "5.3", "7.7", "9.0", "6.3", "7.0", "3.7", 
"7.8", "4.2", "7.6", "37.0", "4.6", "6.0", "9.0", "5.7", "3.3", 
"6.4", "3.6", "3.8", "3.5", "3.9", "7.3", "2.8", "3.5", "1.7", 
"4.5", "4.3", "3.2", "8.0", "1.5", "7.5", "4.0", "2.0", "7.0", 
"3.5", "2.3", "1.3", "3.0", "0.0", "0.0"), `
Yds/G` = c("179.0", 
"168.0", "168.0", "164.0", "162.0", "148.0", "147.0", "143.0", 
"140.0", "139.0", "138.0", "133.0", "125.0", "124.0", "122.0", 
"121.0", "105.0", "104.0", "101.0", "99.0", "99.0", "97.0", "97.0", 
"96.0", "94.0", "93.0", "93.0", "92.0", "91.0", "91.0", "89.0", 
"89.0", "89.0", "88.0", "83.0", "83.0", "82.0", "81.0", "79.0", 
"76.0", "75.0", "74.0", "72.0", "72.0", "71.0", "67.0", "67.0", 
"66.0", "64.0", "63.0", "58.0", "58.0", "55.0", "55.0", "55.0", 
"53.0", "52.0", "52.0", "50.0", "48.0", "46.0", "45.0", "44.0", 
"42.0", "41.0", "39.0", "38.0", "38.0", "37.0", "37.0", "36.0", 
"36.0", "34.0", "33.0", "32.0", "32.0", "30.0", "28.0", "27.0", 
"22.0", "22.0", "21.0", "20.0", "18.0", "17.0", "16.0", "16.0", 
"15.0", "15.0", "12.0", "8.0", "7.0", "7.0", "7.0", "5.0", "3.0", 
"0.0", "0.0"), `
TD` = c("0", "0", "2", "1", "1", "0", "3", "1", 
"1", "2", "0", "0", "1", "1", "1", "0", "0", "1", "0", "1", "0", 
"0", "1", "0", "0", "1", "0", "1", "1", "1", "1", "0", "0", "0", 
"0", "0", "0", "0", "1", "0", "0", "0", "0", "1", "0", "0", "0", 
"0", "1", "1", "0", "0", "0", "1", "0", "0", "0", "0", "0", "0", 
"0", "0", "0", "0", "2", "0", "0", "0", "0", "0", "0", "0", "0", 
"0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", 
"1", "0", "1", "0", "0", "0", "0", "0", "0", "0", "0", "0"), 
    `
Int` = c("0", "0", "0", "1", "0", "2", "1", "1", "0", "0", 
    "1", "1", "0", "0", "1", "1", "0", "0", "0", "1", "0", "0", 
    "0", "0", "0", "0", "0", "0", "1", "0", "0", "0", "1", "0", 
    "1", "0", "1", "1", "0", "1", "2", "0", "0", "0", "0", "1", 
    "0", "0", "0", "0", "0", "0", "0", "0", "1", "0", "0", "0", 
    "0", "0", "1", "0", "0", "1", "0", "0", "1", "0", "0", "0", 
    "0", "0", "1", "0", "0", "0", "0", "1", "0", "0", "1", "1", 
    "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", 
    "0", "0", "0", "0"), `
1st` = c("5", "7", "10", "10", "6", 
    "6", "10", "7", "5", "7", "4", "6", "5", "9", "5", "7", "4", 
    "3", "3", "5", "2", "6", "5", "4", "5", "5", "5", "4", "5", 
    "4", "5", "3", "2", "3", "4", "5", "3", "2", "4", "6", "4", 
    "4", "2", "3", "2", "2", "2", "3", "2", "2", "2", "3", "2", 
    "1", "4", "1", "4", "2", "2", "2", "2", "1", "2", "2", "2", 
    "2", "3", "2", "1", "2", "3", "2", "3", "3", "2", "2", "1", 
    "1", "1", "1", "1", "1", "0", "1", "1", "1", "1", "0", "1", 
    "0", "0", "0", "0", "0", "0", "0", "0", "0"), `
1st%` = c("33.3", 
    "38.9", "41.7", "40.0", "28.6", "26.1", "40.0", "25.9", "21.7", 
    "58.3", "21.1", "37.5", "31.3", "39.1", "35.7", "29.2", "57.1", 
    "33.3", "33.3", "38.5", "12.5", "28.6", "55.6", "26.7", "55.6", 
    "35.7", "35.7", "57.1", "33.3", "22.2", "33.3", "18.8", "8.3", 
    "25.0", "28.6", "45.5", "42.9", "20.0", "28.6", "46.2", "26.7", 
    "57.1", "50.0", "27.3", "18.2", "25.0", "20.0", "33.3", "66.7", 
    "20.0", "28.6", "50.0", "40.0", "8.3", "28.6", "9.1", "57.1", 
    "40.0", "18.2", "22.2", "33.3", "20.0", "28.6", "33.3", "18.2", 
    "40.0", "33.3", "40.0", "100.0", "25.0", "50.0", "50.0", 
    "50.0", "30.0", "40.0", "22.2", "12.5", "12.5", "14.3", "33.3", 
    "12.5", "16.7", "0.0", "25.0", "25.0", "20.0", "50.0", "0.0", 
    "50.0", "0.0", "0.0", "0.0", "0.0", "0.0", "0.0", "0.0", 
    "0.0", "0.0"), `
Lng` = c("68", "56", "24", "28T", "40", 
    "25", "16", "20", "42T", "32T", "27", "28", "40", "18", "51T", 
    "30", "45", "57T", "48", "32T", "47", "14", "26T", "17", 
    "36", "23", "21", "49T", "19T", "26", "28", "35", "19", "22", 
    "30", "29", "47", "28", "18", "22", "24", "22", "43", "27T", 
    "32", "49", "23", "24", "44T", "43T", "20", "30", "24", "29T", 
    "16", "19", "18", "25", "16", "23", "19", "31", "22", "32", 
    "19T", "11", "14", "30", "37", "19", "10", "20", "12", "13", 
    "9", "19", "13", "14", "12", "9", "14", "15", "11", "12", 
    "13", "13", "16T", "9", "10T", "7", "7", "7", "7", "5", "5", 
    "3", "--", "--"), `
20+` = c("2", "2", "4", "3", "3", "2", 
    "0", "1", "2", "2", "2", "3", "2", "0", "2", "2", "1", "1", 
    "2", "1", "1", "0", "2", "0", "1", "1", "2", "2", "0", "1", 
    "2", "1", "0", "2", "2", "1", "2", "2", "0", "1", "1", "1", 
    "2", "1", "1", "1", "1", "1", "2", "1", "1", "1", "1", "1", 
    "0", "0", "0", "1", "0", "2", "0", "1", "1", "1", "0", "0", 
    "0", "1", "1", "0", "0", "1", "0", "0", "0", "0", "0", "0", 
    "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", 
    "0", "0", "0", "0", "0", "0", "0", "0"), `
40+` = c("2", 
    "1", "0", "0", "1", "0", "0", "0", "1", "0", "0", "0", "1", 
    "0", "1", "0", "1", "1", "1", "0", "1", "0", "0", "0", "0", 
    "0", "0", "1", "0", "0", "0", "0", "0", "0", "0", "0", "1", 
    "0", "0", "0", "0", "0", "1", "0", "0", "1", "0", "0", "1", 
    "1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", 
    "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", 
    "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", 
    "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", 
    "0"), `
Sck` = c("0", "2", "2", "0", "1", "1", "0", "2", 
    "0", "1", "1", "0", "1", "1", "3", "0", "1", "0", "0", "0", 
    "1", "1", "1", "0", "1", "1", "2", "1", "0", "1", "3", "2", 
    "0", "0", "1", "1", "1", "3", "0", "0", "4", "3", "1", "0", 
    "0", "0", "2", "1", "0", "0", "0", "1", "1", "1", "1", "0", 
    "0", "0", "3", "0", "0", "0", "0", "0", "0", "0", "1", "0", 
    "0", "0", "0", "0", "0", "0", "0", "0", "2", "0", "1", "0", 
    "2", "0", "0", "2", "0", "1", "0", "4", "3", "0", "0", "0", 
    "0", "0", "1", "0", "0", "0"), `
Rate` = c("107.4", "91.9", 
    "107.6", "79.4", "93.8", "39.8", "109.5", "76.6", "85.4", 
    "154.5", "54.3", "62.8", "112.8", "97.0", "92.0", "33.5", 
    "118.8", "133.6", "95.1", "91.5", "69.5", "68.9", "148.6", 
    "73.2", "110.2", "95.2", "71.4", "158.3", "82.9", "88.0", 
    "104.6", "72.1", "41.8", "81.2", "38.7", "94.1", "47.0", 
    "54.6", "97.0", "45.7", "22.2", "110.7", "116.7", "120.3", 
    "82.0", "39.1", "80.0", "97.2", "149.3", "95.0", "101.2", 
    "97.9", "97.9", "90.6", "24.4", "75.2", "97.6", "95.4", "66.5", 
    "52.1", "36.1", "104.2", "64.0", "19.4", "95.1", "99.2", 
    "17.1", "83.8", "118.8", "63.0", "91.7", "102.1", "27.8", 
    "40.8", "93.3", "53.9", "59.4", "8.3", "65.8", "97.2", "0.0", 
    "4.9", "42.4", "83.3", "61.5", "48.8", "116.7", "47.9", "137.5", 
    "74.3", "56.2", "95.8", "58.3", "70.1", "39.6", "79.2", "39.6", 
    "39.6")), .Names = c("Player", "Team", "Pos", "\nComp", "\nAtt", 
"\nPct", "\nAtt/G", "\nYds", "\nAvg", "\nYds/G", "\nTD", "\nInt", 
"\n1st", "\n1st%", "\nLng", "\n20+", "\n40+", "\nSck", "\nRate"
), class = "data.frame", row.names = c(NA, 98L))

3 个答案:

答案 0 :(得分:2)

以下是使用one_of中的dplyr函数的选项,one_of通过用{{1}否定选择来接受可以从变异中排除的列名的字符向量在前面:

-

一个较小的例子:

df %>% 
      mutate_at(vars(-one_of(c("Player", "Team", "Pos"))), funs(as.numeric)) %>% 
      lapply(class)

# $Player
# [1] "character"

# $Team
# [1] "character"

# $Pos
# [1] "character"

# $`\nComp`
# [1] "numeric"

# $`\nAtt`
# [1] "numeric"

# other numeric columns here...

df %>% 
       mutate_at(vars(-one_of(c("Player", "Team", "Pos"))), funs(as.numeric)) %>% 
       head()

#           Player Team Pos \nComp \nAtt \nPct \nAtt/G \nYds \nAvg \nYds/G
#1     Matt Schaub  ATL  QB     10    15  66.7      15   179  11.9     179
#2 Jimmy Garoppolo   NE  QB     11    18  61.1      18   168   9.3     168
#3      Tom Savage  HOU  QB     14    24  58.3      24   168   7.0     168
#4    Dan Orlovsky  DET  QB     16    25  64.0      25   164   6.6     164
#5   Cardale Jones  BUF  QB     11    21  52.4      21   162   7.7     162
#6    Ryan Griffin   TB  QB     13    23  56.5      23   148   6.4     148
#  \nTD \nInt \n1st \n1st% \nLng \n20+ \n40+ \nSck \nRate
#1    0     0     5   33.3    68     2     2     0  107.4
#2    0     0     7   38.9    56     2     1     2   91.9
#3    2     0    10   41.7    24     4     0     2  107.6
#4    1     1    10   40.0    NA     3     0     0   79.4
#5    1     0     6   28.6    40     3     1     1   93.8
#6    0     2     6   26.1    25     2     0     1   39.8

答案 1 :(得分:1)

NA来自“ - ”和“T”:

qb[,-c(1:3)] <- apply(qb[,-c(1:3)], 2, as.numeric)

一列有几个非数字值:

 Lng = c("68", "56", "24", "28T", "40", 
"25", "16", "20", "42T", "32T", "27", "28", "40", "18", "51T", 
"30", "45", "57T", "48", "32T", "47", "14", "26T", "17", 
"36", "23", "21", "49T", "19T", "26", "28", "35", "19", "22", 
"30", "29", "47", "28", "18", "22", "24", "22", "43", "27T", 
"32", "49", "23", "24", "44T", "43T", "20", "30", "24", "29T", 
"16", "19", "18", "25", "16", "23", "19", "31", "22", "32", 
"19T", "11", "14", "30", "37", "19", "10", "20", "12", "13", 
"9", "19", "13", "14", "12", "9", "14", "15", "11", "12", 
"13", "13", "16T", "9", "10T", "7", "7", "7", "7", "5", "5", 
"3", "--", "--"), 

最终你想要这个:

qb[,-c(1:3)] <- apply(qb[,-c(1:3)], 2, function(x) gsub("--|T", "", x))

qb[,-c(1:3)] <- apply(qb[,-c(1:3)], 2, as.numeric)

答案 2 :(得分:1)

我会以长格式进行转换,我再次使用宽格式:

library(data.table)
setDT(dx)
dcast(melt(dx,id=c("Player","Team", "Pos"))[,value:=as.numeric(value)],
      Player+Team+Pos~variable)

其中dx是您的data.frame之一。这可以很容易地生成许多data.frames,但这取决于你是否希望将最终结果作为单个data.table聚合所有data.frames。