R 使用带有数据表名和utils::data向量的map

R 使用带有数据表名和utils::data向量的map,r,R,我想将mlbench包中的两个数据集加载到我的环境中。我知道我可以使用data(x)功能手动执行此操作,但我希望使用purrr:map执行此操作。然而,当我尝试这样做时,我不断得到以下错误: data set ‘.x’ not founddata set ‘.x’ not found[[1]] [1] ".x" [[2]] [1] ".x" 这可能吗 ## libraries library("mlbench") library(&

我想将
mlbench
包中的两个数据集加载到我的环境中。我知道我可以使用
data(x)
功能手动执行此操作,但我希望使用
purrr:map
执行此操作。然而,当我尝试这样做时,我不断得到以下错误:

data set ‘.x’ not founddata set ‘.x’ not found[[1]]
[1] ".x"

[[2]]
[1] ".x"
这可能吗

## libraries
library("mlbench")
library("dplyr")
library("purrr")

## load data sets into environment manually
data(BostonHousing)
data(BostonHousing2)

## load data sets into environment using map
data_names <- c("BostonHousing", "BostonHousing2")

## generates error
data_names %>% map(~data(.x))
##库
图书馆(“mlbench”)
图书馆(“dplyr”)
图书馆(“purrr”)
##手动将数据集加载到环境中
数据(Boston外壳)
数据(BostonHousing2)
##使用映射将数据集加载到环境中
数据\u名称%map(~data(.x))

对于
数据
,有两个参数用于加载数据,
..
检查文字值和
列表
检查
字符字符串的向量。我们所要做的就是,代替默认选项
,指定
list
从字符串向量加载数据集,然后使用
mget
列表中加载这些数据集

library(dplyr)
library(purrr)
library(mlbench)
data(list = data_names)
mget(data_names)  %>%
     map(head, 5)
-输出

#$BostonHousing
#     crim zn indus chas   nox    rm  age    dis rad tax ptratio      b lstat medv
#1 0.00632 18  2.31    0 0.538 6.575 65.2 4.0900   1 296    15.3 396.90  4.98 24.0
#2 0.02731  0  7.07    0 0.469 6.421 78.9 4.9671   2 242    17.8 396.90  9.14 21.6
#3 0.02729  0  7.07    0 0.469 7.185 61.1 4.9671   2 242    17.8 392.83  4.03 34.7
#4 0.03237  0  2.18    0 0.458 6.998 45.8 6.0622   3 222    18.7 394.63  2.94 33.4
#5 0.06905  0  2.18    0 0.458 7.147 54.2 6.0622   3 222    18.7 396.90  5.33 36.2

#$BostonHousing2
#        town tract     lon     lat medv cmedv    crim zn indus chas   nox    rm  age    dis rad tax ptratio      b lstat
#1     Nahant  2011 -70.955 42.2550 24.0  24.0 0.00632 18  2.31    0 0.538 6.575 65.2 4.0900   1 296    15.3 396.90  4.98
#2 Swampscott  2021 -70.950 42.2875 21.6  21.6 0.02731  0  7.07    0 0.469 6.421 78.9 4.9671   2 242    17.8 396.90  9.14
#3 Swampscott  2022 -70.936 42.2830 34.7  34.7 0.02729  0  7.07    0 0.469 7.185 61.1 4.9671   2 242    17.8 392.83  4.03
#4 Marblehead  2031 -70.928 42.2930 33.4  33.4 0.03237  0  2.18    0 0.458 6.998 45.8 6.0622   3 222    18.7 394.63  2.94
#5 Marblehead  2032 -70.922 42.2980 36.2  36.2 0.06905  0  2.18    0 0.458 7.147 54.2 6.0622   3 222    18.7 396.90  5.33

谢谢@akrun。不幸的是,我尝试在~之后添加
数据
,但无效。我在运行代码时收到此错误消息:错误:“BostonHousing”的值未找到我认为
数据(list=data\u name)
已将数据加载到环境中,因此您不需要
映射