r语言 - 映射函数的问题:expr_substitute(funs[[j]]、quote(.)、var_sym)中的错误:缺少参数"var_sym",没有默认值



所以我有一个数据帧列表,我试图从每个数据帧中修剪所有空白(使用stringr::str_squish))。

我认为最好的方法是mutate每个数据帧中的每个变量,并将其映射到列表中的每个数据帧。

问题是我一直得到这个错误:

Error in expr_substitute(funs[[j]], quote(.), var_sym) : 
argument "var_sym" is missing, with no default

以下是我正在做的(使用下面的可复制dput代码):

library(tidyverse)
library(rvest)
mydata %>%
map(~mutate_all(., str_squish))

但这不起作用。有什么想法吗?

mydata <- list(structure(list(`Matchup
Matchup` = c("Coloradon                                      @n                                n                                n                                  n                                                        St. Louisn                                      n                                n                                n                                n                                n                                n                                n                                n                                n                                  COLn                                n                                    @n                                n                                  STL", 
"Buffalon                                      @n                                n                                n                                  n                                                        Edmontonn                                      n                                n                                n                                n                                n                                n                                n                                n                                n                                  BUFn                                n                                    @n                                n                                  EDM", 
"NY Islandersn                                      @n                                n                                n                                  n                                                        Los Angelesn                                      n                                n                                n                                n                                n                                n                                n                                n                                n                                  NYIn                                n                                    @n                                n                                  LAK"
), `Result
Result` = c("COL 2,n                                                    STL 4n                                            n                                  n                                n                                n                                  n                                            n                                                    COL 2,n                                                    STL 4", 
"BUF 3,n                                                    EDM 4n                                            n                                  n                                n                                n                                  n                                            n                                                    BUF 3,n                                                    EDM 4", 
"NYI 0,n                                                    LAK 1n                                            n                                  n                                n                                n                                  n                                            n                                                    NYI 0,n                                                    LAK 1"
), c("Recapn                                        n                                n                                        n                                            GAMECENTER", 
"Recapn                                        n                                n                                        n                                            GAMECENTER", 
"Recapn                                        n                                n                                        n                                            GAMECENTER"
), `Networks
Networks` = c("G. Fuhr, n                                            J. Campbell, n                                            C. Pronger", 
"T. Marchant, n                                            R. Smehlik, n                                            A. Kovalenko", 
""), c("Recapn                                        n                                n                                        n                                            GAMECENTER", 
"Recapn                                        n                                n                                        n                                            GAMECENTER", 
"Recapn                                        n                                n                                        n                                            GAMECENTER"
), c(NA, NA, NA)), .Names = c("Matchupn                                    Matchup", 
"Resultn                                    Result", "", "Networksn                            Networks", 
"", ""), class = "data.frame", row.names = c(NA, -3L)), structure(list(
`Matchup
Matchup` = c("NY Rangersn                                      @n                                n                                n                                  n                                                        Bostonn                                      n                                n                                n                                n                                n                                n                                n                                n                                n                                  NYRn                                n                                    @n                                n                                  BOS", 
"Phoenixn                                      @n                                n                                n                                  n                                                        Hartfordn                                      n                                n                                n                                n                                n                                n                                n                                n                                n                                  PHXn                                n                                    @n                                n                                  HFD", 
"Tampa Bayn                                      @n                                n                                n                                  n                                                        Pittsburghn                                      n                                n                                n                                n                                n                                n                                n                                n                                n                                  TBLn                                n                                    @n                                n                                  PIT", 
"Ottawan                                      @n                                n                                n                                  n                                                        Montréaln                                      n                                n                                n                                n                                n                                n                                n                                n                                n                                  OTTn                                n                                    @n                                n                                  MTL", 
"Detroitn                                      @n                                n                                n                                  n                                                        New Jerseyn                                      n                                n                                n                                n                                n                                n                                n                                n                                n                                  DETn                                n                                    @n                                n                                  NJD", 
"Floridan                                      @n                                n                                n                                  n                                                        Philadelphian                                      n                                n                                n                                n                                n                                n                                n                                n                                n                                  FLAn                                n                                    @n                                n                                  PHI", 
"Chicagon                                      @n                                n                                n                                  n                                                        Washingtonn                                      n                                n                                n                                n                                n                                n                                n                                n                                n                                  CHIn                                n                                    @n                                n                                  WSH", 
"Anaheimn                                      @n                                n                                n                                  n                                                        Toronton                                      n                                n                                n                                n                                n                                n                                n                                n                                n                                  ANAn                                n                                    @n                                n                                  TOR", 
"Coloradon                                      @n                                n                                n                                  n                                                        Dallasn                                      n                                n                                n                                n                                n                                n                                n                                n                                n                                  COLn                                n                                    @n                                n                                  DAL", 
"Calgaryn                                      @n                                n                                n                                  n                                                        Vancouvern                                      n                                n                                n                                n                                n                                n                                n                                n                                n                                  CGYn                                n                                    @n                                n                                  VAN", 
"NY Islandersn                                      @n                                n                                n                                  n                                                        San Josen                                      n                                n                                n                                n                                n                                n                                n                                n                                n                                  NYIn                                n                                    @n                                n                                  SJS"
), `Result
Result` = c("NYR 4,n                                                    BOS 4n                                                      (OT)n                                            n                                  n                                n                                n                                  n                                            n                                                    NYR 4,n                                                    BOS 4n                                                      (OT)", 
"PHX 0,n                                                    HFD 1n                                            n                                  n                                n                                n                                  n                                            n                                                    PHX 0,n                                                    HFD 1", 
"TBL 4,n                                                    PIT 3n                                                      (OT)n                                            n                                  n                                n                                n                                  n                                            n                                                    TBL 4,n                                                    PIT 3n                                                      (OT)", 
"OTT 3,n                                                    MTL 3n                                                      (OT)n                                            n                                  n                                n                                n                                  n                                            n                                                    OTT 3,n                                                    MTL 3n                                                      (OT)", 
"DET 1,n                                                    NJD 3n                                            n                                  n                                n                                n                                  n                                            n                                                    DET 1,n                                                    NJD 3", 
"FLA 3,n                                                    PHI 1n                                            n                                  n                                n                                n                                  n                                            n                                                    FLA 3,n                                                    PHI 1", 
"CHI 5,n                                                    WSH 2n                                            n                                  n                                n                                n                                  n                                            n                                                    CHI 5,n                                                    WSH 2", 
"ANA 1,n                                                    TOR 4n                                            n                                  n                                n                                n                                  n                                            n                                                    ANA 1,n                                                    TOR 4", 
"COL 1,n                                                    DAL 4n                                            n                                  n                                n                                n                                  n                                            n                                                    COL 1,n                                                    DAL 4", 
"CGY 1,n                                                    VAN 3n                                            n                                  n                                n                                n                                  n                                            n                                                    CGY 1,n                                                    VAN 3", 
"NYI 2,n                                                    SJS 2n                                                      (OT)n                                            n                                  n                                n                                n                                  n                                            n                                                    NYI 2,n                                                    SJS 2n                                                      (OT)"
), c("Recapn                                        n                                n                                        n                                            GAMECENTER", 
"Recapn                                        n                                n                                        n                                            GAMECENTER", 
"Recapn                                        n                                n                                        n                                            GAMECENTER", 
"Recapn                                        n                                n                                        n                                            GAMECENTER", 
"Recapn                                        n                                n                                        n                                            GAMECENTER", 
"Recapn                                        n                                n                                        n                                            GAMECENTER", 
"Recapn                                        n                                n                                        n                                            GAMECENTER", 
"Recapn                                        n                                n                                        n                                            GAMECENTER", 
"Recapn                                        n                                n                                        n                                            GAMECENTER", 
"Recapn                                        n                                n                                        n                                            GAMECENTER", 
"Recapn                                        n                                n                                        n                                            GAMECENTER"
), `Three Stars of the Game
Three Stars of the Game` = c("S. Heinze, n                                            L. Robitaille, n                                            J. Stumpel", 
"S. Burke, n                                            A. Godynyuk, n                                            G. Wesley", 
"D. Ciccarelli, n                                            M. Lemieux, n                                            J. Cullen", 
"D. Rhodes, n                                            S. Koivu, n                                            W. Redden", 
"M. Brodeur, n                                            S. Thomas, n                                            S. Niedermayer", 
"J. Vanbiesbrouck, n                                            S. Mellanby, n                                            R. Brind'Amour", 
"C. Chelios, n                                            D. Savard, n                                            R. Zednik", 
"F. Potvin, n                                            K. Muller, n                                            J. Kurri", 
"A. Moog, n                                            C. Ludwig, n                                            J. Nieuwendyk", 
"A. Mogilny, n                                            K. McLean, n                                            J. Iginla", 
"B. Nicholls, n                                            J. Friesen, n                                            D. Kasparaitis"
), c("Recapn                                        n                                n                                        n                                            GAMECENTER", 
"Recapn                                        n                                n                                        n                                            GAMECENTER", 
"Recapn                                        n                                n                                        n                                            GAMECENTER", 
"Recapn                                        n                                n                                        n                                            GAMECENTER", 
"Recapn                                        n                                n                                        n                                            GAMECENTER", 
"Recapn                                        n                                n                                        n                                            GAMECENTER", 
"Recapn                                        n                                n                                        n                                            GAMECENTER", 
"Recapn                                        n                                n                                        n                                            GAMECENTER", 
"Recapn                                        n                                n                                        n                                            GAMECENTER", 
"Recapn                                        n                                n                                        n                                            GAMECENTER", 
"Recapn                                        n                                n                                        n                                            GAMECENTER"
), c(NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA)), .Names = c("Matchupn                                    Matchup", 
"Resultn                                    Result", "", "Three Stars of the Gamen                            Three Stars of the Game", 
"", ""), class = "data.frame", row.names = c(NA, -11L)))

mydata中的数据帧似乎有重复的列名,这可能是mutate_all的问题。下面我用从a到f的字母重命名数据帧,然后用function(x)应用mutate_allstr_squish以避免任何混淆。它似乎起作用了。

library(tidyverse)
mydata %>%
map(set_names, letters[1:6]) %>%
map(function(x) mutate_all(x, funs(str_squish(.))))

因此,在创建mydata时,应避免使用重复的列名。

最新更新