因此,我有一个数据帧列表,我试图将每个数据帧中的所有空格(使用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("Colorado\n @\n \n \n \n St. Louis\n \n \n \n \n \n \n \n \n \n COL\n \n @\n \n STL",
"Buffalo\n @\n \n \n \n Edmonton\n \n \n \n \n \n \n \n \n \n BUF\n \n @\n \n EDM",
"NY Islanders\n @\n \n \n \n Los Angeles\n \n \n \n \n \n \n \n \n \n NYI\n \n @\n \n LAK"
), `Result
Result` = c("COL 2,\n STL 4\n \n \n \n \n \n \n COL 2,\n STL 4",
"BUF 3,\n EDM 4\n \n \n \n \n \n \n BUF 3,\n EDM 4",
"NYI 0,\n LAK 1\n \n \n \n \n \n \n NYI 0,\n LAK 1"
), c("Recap\n \n \n \n GAMECENTER",
"Recap\n \n \n \n GAMECENTER",
"Recap\n \n \n \n GAMECENTER"
), `Networks
Networks` = c("G. Fuhr, \n J. Campbell, \n C. Pronger",
"T. Marchant, \n R. Smehlik, \n A. Kovalenko",
""), c("Recap\n \n \n \n GAMECENTER",
"Recap\n \n \n \n GAMECENTER",
"Recap\n \n \n \n GAMECENTER"
), c(NA, NA, NA)), .Names = c("Matchup\n Matchup",
"Result\n Result", "", "Networks\n Networks",
"", ""), class = "data.frame", row.names = c(NA, -3L)), structure(list(
`Matchup
Matchup` = c("NY Rangers\n @\n \n \n \n Boston\n \n \n \n \n \n \n \n \n \n NYR\n \n @\n \n BOS",
"Phoenix\n @\n \n \n \n Hartford\n \n \n \n \n \n \n \n \n \n PHX\n \n @\n \n HFD",
"Tampa Bay\n @\n \n \n \n Pittsburgh\n \n \n \n \n \n \n \n \n \n TBL\n \n @\n \n PIT",
"Ottawa\n @\n \n \n \n Montréal\n \n \n \n \n \n \n \n \n \n OTT\n \n @\n \n MTL",
"Detroit\n @\n \n \n \n New Jersey\n \n \n \n \n \n \n \n \n \n DET\n \n @\n \n NJD",
"Florida\n @\n \n \n \n Philadelphia\n \n \n \n \n \n \n \n \n \n FLA\n \n @\n \n PHI",
"Chicago\n @\n \n \n \n Washington\n \n \n \n \n \n \n \n \n \n CHI\n \n @\n \n WSH",
"Anaheim\n @\n \n \n \n Toronto\n \n \n \n \n \n \n \n \n \n ANA\n \n @\n \n TOR",
"Colorado\n @\n \n \n \n Dallas\n \n \n \n \n \n \n \n \n \n COL\n \n @\n \n DAL",
"Calgary\n @\n \n \n \n Vancouver\n \n \n \n \n \n \n \n \n \n CGY\n \n @\n \n VAN",
"NY Islanders\n @\n \n \n \n San Jose\n \n \n \n \n \n \n \n \n \n NYI\n \n @\n \n SJS"
), `Result
Result` = c("NYR 4,\n BOS 4\n (OT)\n \n \n \n \n \n \n NYR 4,\n BOS 4\n (OT)",
"PHX 0,\n HFD 1\n \n \n \n \n \n \n PHX 0,\n HFD 1",
"TBL 4,\n PIT 3\n (OT)\n \n \n \n \n \n \n TBL 4,\n PIT 3\n (OT)",
"OTT 3,\n MTL 3\n (OT)\n \n \n \n \n \n \n OTT 3,\n MTL 3\n (OT)",
"DET 1,\n NJD 3\n \n \n \n \n \n \n DET 1,\n NJD 3",
"FLA 3,\n PHI 1\n \n \n \n \n \n \n FLA 3,\n PHI 1",
"CHI 5,\n WSH 2\n \n \n \n \n \n \n CHI 5,\n WSH 2",
"ANA 1,\n TOR 4\n \n \n \n \n \n \n ANA 1,\n TOR 4",
"COL 1,\n DAL 4\n \n \n \n \n \n \n COL 1,\n DAL 4",
"CGY 1,\n VAN 3\n \n \n \n \n \n \n CGY 1,\n VAN 3",
"NYI 2,\n SJS 2\n (OT)\n \n \n \n \n \n \n NYI 2,\n SJS 2\n (OT)"
), c("Recap\n \n \n \n GAMECENTER",
"Recap\n \n \n \n GAMECENTER",
"Recap\n \n \n \n GAMECENTER",
"Recap\n \n \n \n GAMECENTER",
"Recap\n \n \n \n GAMECENTER",
"Recap\n \n \n \n GAMECENTER",
"Recap\n \n \n \n GAMECENTER",
"Recap\n \n \n \n GAMECENTER",
"Recap\n \n \n \n GAMECENTER",
"Recap\n \n \n \n GAMECENTER",
"Recap\n \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("Recap\n \n \n \n GAMECENTER",
"Recap\n \n \n \n GAMECENTER",
"Recap\n \n \n \n GAMECENTER",
"Recap\n \n \n \n GAMECENTER",
"Recap\n \n \n \n GAMECENTER",
"Recap\n \n \n \n GAMECENTER",
"Recap\n \n \n \n GAMECENTER",
"Recap\n \n \n \n GAMECENTER",
"Recap\n \n \n \n GAMECENTER",
"Recap\n \n \n \n GAMECENTER",
"Recap\n \n \n \n GAMECENTER"
), c(NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA)), .Names = c("Matchup\n Matchup",
"Result\n Result", "", "Three Stars of the Game\n Three Stars of the Game",
"", ""), class = "data.frame", row.names = c(NA, -11L)))发布于 2019-01-06 09:13:27
看起来mydata中的数据框有重复的列名,这对mutate_all来说可能是个问题。下面我用从a到f的字母重命名数据框,然后使用function(x)应用mutate_all和str_squish,以避免混淆。它似乎起作用了。
library(tidyverse)
mydata %>%
map(set_names, letters[1:6]) %>%
map(function(x) mutate_all(x, funs(str_squish(.))))因此,在创建mydata时,应该避免重复的列名。
https://stackoverflow.com/questions/54057381
复制相似问题