首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何引用purrr::map() "list or atomic vector“参数中的变量索引?

在R语言中,要引用purrr包中的map()函数中的"list or atomic vector"参数中的变量索引,可以使用!!(bang-bang)操作符。

具体步骤如下:

  1. 首先,确保已经安装并加载了purrr包,可以使用以下代码加载包:
代码语言:txt
复制
library(purrr)
  1. 创建一个list或者atomic vector对象,例如:
代码语言:txt
复制
my_list <- list(a = 1, b = 2, c = 3)

或者

代码语言:txt
复制
my_vector <- c(1, 2, 3)
  1. 使用bang-bang操作符(!!)来引用变量索引,将其作为map()函数的参数,例如:
代码语言:txt
复制
result <- map(my_list, ~ .x[[!!.y]])

或者

代码语言:txt
复制
result <- map(my_vector, ~ .x[[!!.y]])

在这个例子中,map()函数将会遍历list或者atomic vector中的每个元素,并通过!!操作符来引用变量索引,.x表示当前遍历的元素,.y表示变量索引。

在腾讯云相关产品和产品介绍链接方面,很遗憾,由于不符合问题要求,我不能直接给出腾讯云的产品介绍链接地址。但是你可以通过访问腾讯云官方网站,了解他们提供的与云计算相关的产品和服务,包括云主机、云数据库、云存储等。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

「R」用purrr实现迭代

接下来我们将学习和使用purrr包,它提供函数可以替代很多常见for循环应用。R基础包apply应用函数族也可以完成类似的任务,但purrr函数更一致,也更容易学习。...$cyl) %>% map(function(df) lm(mpg ~ wt, data = df)) 因为在R创建匿名函数语法比较复杂,所以purrr提供了一种更方便快捷方式——单侧公式...$cyl) %>% map(~lm(mpg ~ wt, data = .)) 上面.作为一个代词:它表示当前列表元素(与for循环中用i表示当前索引是一样)。...,一般来说,我们应该检查一下y错误对象所对应x值,或者使用y正常结果进行一些处理: is_ok = y$error %>% map_lgl(is_null) x[!...和map()函数一样,map2()函数也是对for循环包装: map2 = function(x, y, f, ...){ out = vector("list", length(x))

4.8K20

R-Purrr使用,加速数据处理

R-Purrr使用,加速数据处理 Tidyverse包含一个purrr程序包,之前在看数据处理分析时候,一直看到别人code,涵盖purrrmap函数,但是一直不知道这个是干什么,现在发现purrr...Purrr 主要是替换for循环使用。 Purrr引入了map函数以及一些用于操纵list新函数。cheatsheet可以速查一些关于Tidyverse使用方法。...这篇文章是快速教你使用purrr。 因为Purrr操作对象基本上都是关于list,所以对R基本Number,Vector,dataframe及list又个了解。...map_lgl(.x, .f) returns a logical vector 与tidyverse方式一致,每个映射函数第一个参数始终是要映射数据对象,第二个参数始终是要迭代地应用于输入对象每个元素函数...匿名函数是一个临时函数(您定义为映射function参数)。 在这里,我使用了参数名称.x,但我可以使用任何参数

69620
  • R海拾遗_再谈非标准评估

    disp,分组变量是cyl和am,使用三个点这里传递了任意个参数 另外一种需要引用写法,这种写法需求是对参数进行修改名称时候 grouped_mean2 <- function(.data, .summary_var...单一变量(描述变量情况 使用enquo进行引用 使用as_label转换分组变量为字符串 使用paste0粘贴前缀 使用!!...(分组变量情况 使用enquos引用,需要添加参数named 使用names获得group名字 使用paste0添加前缀 grouped_mean2 <- function(.data, .summary_var...map函数 # map函数具体使用后续再考虑 # 简单说就是对第一个参数(数据集、或者list)分别使用第二参数(函数) # 在r语言中...其实相当于list #...expr函数是将代码转换为表达式,但是并不执行 # 目的是和添加新变量名 summary_vars <- purrr::map(summary_vars, function(var) {

    68620

    【c++】一篇文章带你了解c++11新特性&&c++11详解

    一般是作为构造函数参数,C++11对STL不少容器就增加 std::initializer_list作为参数构造函数,这样初始化容器对象就更方便了。...http://www.cplusplus.com/reference/vector/vector/push_back/ http://www.cplusplus.com/reference/map/map...下面我们来看看左值引用短板,右值引用如何补齐这个短板!...我们无法直接获取参数包args每个参数,只能通过展开参数方式来获取参数每个参数,这是使用可变模版参数一个主要特点,也是最大难点,即如何展开可变模版参数。...arg_list参数可能包含形如_n名字,其中n是一个整数,这些参数是“占位符”,表示newCallable参数,它们占据了传递给newCallable参数“位置”。

    13510

    R 数据整理(十一: 用purrr包实现更花样匿名函数使用)

    感觉purrr函数非常像py 匿名函数相关函数。 而功能上,其起到作用更像是简化和丰富了apply 家族函数调用。...需要注意是, 如果map()等泛函无名函数需要访问其它变量的话, 需要理解其变量作用域或访问环境。另外, 无名函数其它变量在每次被map()应用到输入列表元素时都会重新计算求值。...相当于多维度遍历map : x <- list(101, name="李明") y <- list(102, name="张聪") z <- list(103, name="王国") pmap(list...x, intersect) ## [1] 2 3 ps:reduce()支持...参数, 所以可以给要调用函数额外变量或选项。...reduce2 reduce2(x, y, f) x是要进行连续运算数据列表或向量, 而y是给这些运算提供不同参数

    2.5K30

    疯狂Java笔记之常见java集合实现细节

    集合号称存储是Java对象,但实际上并不会真正将Java对象放入Set集合,而只是在Set集合中保留这些对象引用而己。...也就是说,Java集合实际上是多个引用变量所组成集合,这些引用变量指向实际Java对象。对于java集合他只是多个引用变量集合。...无论何时,HashMap每一个“桶”只存储一个元素(即一个Entry).由于Entry对象可以包含一个引用变量(就是Entry构造器最后一个参数)用于指向下一个Entry,因此可能出现:HashMap...2.MapList关系 从底层实现来看,Set和Map很相似;从用法角度来看,MapList也有很大相似之处。...1.Map接口提供了get(K key)方法,允许Map对象根据key来取得value. 2.List接口提供了get(int index)方法,允许list对象根据元素索引来取得value Map

    52420

    C++常见避坑指南

    ; 迭代器删除 在处理缓存时,容器元素增删查改是很常见,通过迭代器去删除容器(vector/map/set/unordered_map/list)元素也是常有的,但这其中使用不当也会存在很多坑。...,先来看个vectorlistmap删除例子: // vectorlistmap遍历并删除偶数元素 std::vector elements = { 1, 2, 3, 4, 5 };...,只有vector报错crash了,maplist都能正常运行。...在 "pass-by-value" ,函数参数会创建一个副本,而在 "pass-by-reference-to-const" ,函数参数会成为原始对象一个引用,且为了避免修改原始对象,使用了常量引用...本身对引用计数操作是线程安全,通过原子变量std::atomic_bool来保证其管理对象线程安全。

    45310

    C++11知识点总结(全面解析C++11经常考到知识点)

    //forward_list flist; //区别于list双向链表单向链表,空间利用率和速率都更高 /* 新增两组无序容器: unordered_map unordered_multimap...9.1 右值引用概念 C++98提出了引用概念,引用即别名,引用变量与其引用实体公共同一块内存空间,而引用底层是通过指针来实现,因此使用引用,可以提高程序可读性。...int main() { // 10纯右值,本来只是一个符号,没有具体空间, // 右值引用变量r1在定义过程,编译器产生了一个临时变量,r1实际引用是临时变量 int&&...在该函数体内,除了可以使用其参数外,还可以使用所有捕获到变量。 注意: 在lambda函数定义参数列表和返回值类型都是可选部分,而捕捉列表和函数体可以为空。...注意:如果是类成员函数作为线程参数时,必须将this作为线程函数参数。 11.3 join与detach 启动了一个线程后,当这个线程结束时候,如何去回收线程所使用资源呢?

    2K10

    Java 高并发综合

    但实际实现Map部分和HashMap原理基本相同,对脚标取模来确定table[i]所属段,从而对不同段获取不同段锁。...Vector区别 synchronizedList实现,synchronized关键字修饰代码块;Vector实现修饰方法。...synchronizedList能够将所有List实现类封装为同步集合,其内部持有的仍然是List实现类(ArrayList/LinkedList),所以除同步外,几乎只有该实现类和Vector区别...volatile 变量atomic 变量有什么不同? Volatile变量可以确保先行关系,即写操作会发生在后续读操作之前, 但它并不能保证原子性。...而AtomicInteger类提供atomic方法可以让这种操作具有原子性如getAndIncrement()方法会原子性进行增量操作把当前值加一,其它数据类型和引用变量也可以进行相似操作。

    88330

    Java 高并发综合

    但实际实现Map部分和HashMap原理基本相同,对脚标取模来确定table[i]所属段,从而对不同段获取不同段锁。...Vector区别 synchronizedList实现,synchronized关键字修饰代码块;Vector实现修饰方法。...synchronizedList能够将所有List实现类封装为同步集合,其内部持有的仍然是List实现类(ArrayList/LinkedList),所以除同步外,几乎只有该实现类和Vector区别...volatile 变量atomic 变量有什么不同? Volatile变量可以确保先行关系,即写操作会发生在后续读操作之前, 但它并不能保证原子性。...而AtomicInteger类提供atomic方法可以让这种操作具有原子性如getAndIncrement()方法会原子性进行增量操作把当前值加一,其它数据类型和引用变量也可以进行相似操作。

    97160

    🤩 ggstatsplot | 一个满足你日常统计需求高颜值R包(四)

    写在前面 点图用处非常广泛,可以展示变量分布情况,变量之间相关性,回归结果等 本期介绍是ggstatsplot包绘制dotplot,scatterplot相关函数 2....::filter(ggplot2::mpg, cyl %in% c("4", "6")) ## 生成足够多颜色 paletter_vector <- paletteer::paletteer_d...和ctymanufacturer分布情况 当然你也可以使用purrr包批量绘制,前面几期都讲过了, 这里就不赘述了 grouped_ggdotplotstats( ## arguments...(title = "Fuel economy data"), plotgrid.args = list(nrow = 2) ) 图片 5. scatterplot展示变量相关性 5.1 初步绘制 用到函数是...grouped_ggscatterstats 我们看一下不同clydisplhwy相关性 当然purrr包也是支持批量绘制 grouped_ggscatterstats( ## arguments

    41620

    Rust学习笔记之集合

    其次,这两个不同获取第三个元素方式分别为: 使用 & 和 [] 返回一个「引用」; 或者使用 get 方法以索引作为参数来返回一个 Option。...Rust 有两个引用元素方法原因是程序可以选择如何处理当索引值在 vector 没有对应值情况。 let v = vec!...---- 遍历 vector 元素 想要依次访问 vector 每一个元素,我们可以「遍历其所有的元素」而无需通过索引一次一个访问。 let v = vec!...它通过一个哈希函数hashing function来实现映射,决定如何将键和值放入内存。 哈希 map 可以用于需要「任何类型作为键」来寻找数据情况,而不是像 vector 那样通过索引。...这里我们将这个可变引用储存在 count 变量,所以为了赋值必须首先使用星号(*)解引用 count。

    64320

    重温 CC++ 笔记

    const 可以修改引用和指针,const& 是函数参数最佳选择 修饰成员函数的话,这个函数只能访问常量变量;const 函数,实际上是传入一个 const this const 常量在预处理阶段不存在...,返回对应位置指针 strlen, 获取某个字符串指针长度 12节 STL-容器 #include #include #include #include... #include #include 容器里存储是元素拷贝、副本,而不是引用,尽量为元素实现转移构造和转移赋值函数,在加入容器时候使用 std...只能往后面插入) 链表 list:双端链表 forward_list:单向链表 array 和 vector 直接对应 C 内置数组,内存布局与 C 完全兼容,所以是开销最低、速度最快容器。...原子变量atomic_bool ,数据修改涉及较少,可以使用原子变量 只能有基本类型(std::atomic) 和一个 flag std::atomic_flag 原子变量禁用了拷贝构造

    1.3K30

    独家 | 不同机器学习模型决策边界(附代码)

    标签:机器学习 作者前言 我使用Iris数据集训练了一系列机器学习模型,从数据极端值合成了新数据点,并测试了许多机器学习模型来绘制出决策边界,这些模型可根据这些边界在2D空间中进行预测,这对于阐明目的和了解不同机器学习模型如何进行预测会很有帮助...我首先采用ggplot来绘制数据,以下储存ggplot对象,每个图仅更改x和y变量选择。...目标 我目标是建立一种分类算法,以区分这两个植物种类,然后计算决策边界,以便更好地了解模型如何做出此类预测。为了为每个变量组合创建决策边界图,我们需要数据变量不同组合。...需要注意是这些图最终将是二维,因此我们仅在两个变量上训练机器学习模型,但是对于这两个变量每种组合而言,它们将是取boundary_lists data frame前两个变量。...方面的专家,所以我相信有更好模型产生更好决策边界,但是用purrrmap来训练不同机器学习模型是件很有趣事。

    1.8K40

    集合框架

    Java集合只能保存引用数据类型,也就是保存是对象地址,而非对象本身。集合中元素相当于引用类型变量。 JDK所提供容器API全部位于java.util包。...如何遍历Collection每一个元素?...不论Collection实际类型如何,它都支持一个iterator()方法,该方法返回一个迭代子,使用该迭代子即可逐一访问Collection每一个元素。...用户能够使用索引(元素在List位置,类似于数组下标)来访问List元素,这类似于Java数组。 和下面要提到Set不同,List允许有相同元素。...Map接口 请注意,Map没有继承Collection接口,Map提供key到value映射。一个Map不能包含相同key,每个key只能映射一个 value。

    42150
    领券