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

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

1. map 族 其实map 除了对向量有用,也可以作用于数据框或矩阵类型,相当于把其中的每一列作为一个单独的元素来看,有点像按列的apply: > map(infos, typeof) $family...purrr包的pmap类函数支持对多个列表、数据框、向量等进行向量化处理。pmap不是将多个列表等作为多个自变量, 而是将它们打包为一个列表。...(x, y, z), c) ## [[1]] ## [1] 101 102 103 ## ## $name ## [1] "李明" "张聪" "王国" 对于数据框, 对数据框的每一行执行函数(之于map...[[3]] ## [1] 2 3 1 5 4 ## ## [[4]] ## [1] 2 3 1 5 4 Map-reduce算法 Map-reduce是大数据技术中的重要算法, 在Hadoop分布式数据库中主要使用此算法思想...将数据分散存储在不同计算节点中, 将需要的操作先映射到每台计算节点, 进行信息提取压缩, 最后用reduce的思想将不同节点的信息整合在一起。 6.

2.6K30

「R」用purrr实现迭代

d = rnorm(10) ) 如果想要计算每列的均值,我们使用for循环完成任务: output = vector("double", length(df)) for (i in seq_along...(df)) { output[[i]] = mean(df[[i]]) } output #> [1] 0.45635 -0.17938 0.32879 0.00263 然后我们可能意识到需要频繁地计算每列的均值...df)) for ( i in seq_along(df)) { output[i] = mean(df[[i]]) } output } 然后我们觉得可能还需要这样计算每列的中位数和标准差...通过添加支持函数到每列的参数,我们可以使用同一个函数解决3个问题: col_summary = function(df, fun){ out = vector("double", length(...如果我们想要生成均值、标准差和样本数都不同的正态分布,可以使用: n = list(1, 3, 5) args1 = list(n, mu, sigma) args1 %>% pmap(rnorm

4.8K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    R语言进阶笔记5 | purrr替代循环

    3 map的不同类型 map函数,支持一元函数 map2函数,支持二元函数 pmap函数,支持多元函数 这里先模拟数据: > dat = data.frame(x1 =rnorm(10),x2 = rnorm...*_df,返回数据库 *_dfr, 返回数据库行合并 *_dfc, 返回数据框列合并 5 匿名函数写法 一元的map,可以写为 .x,或者..1 二元的map2,可以写为.x,.y,或者..1,..2...6.1 直接在函数的函数内部 比如,要计算每一列的平均值,允许缺失值,需要用到参数na.rm = T,可以这样写: > map(dat,~mean(.x,na.rm = T)) $x1 [1] -0.1100182...,其中 .x 为对象 .f 为函数 ...为.f函数的其它参数 所以,计算每一列的平均值,也可以写为: > map(dat,mean,na.rm=T) $x1 [1] -0.1100182 $x2 [...1] -0.2338953 $x3 [1] -0.3660053 $x4 [1] 0.02137338 7 map的用法1:批量建模 这里使用我的R包learnasreml中的MET数据,进行测试

    3.4K10

    R语言实用技巧(1)R包检索

    ://github.com/jsugarelli/packagefinder/ https://github.com/TimTeaFan/loopurrr/ ❞ R包文档检索 ❝经常会遇到一些R包安装的问题使用...install.packages会提示R包不存在,这种问题可能是R包未提交到CRAN官方仓库,而安装github上的包则需要知道作者名及仓库名,因此使用packagefinder包在Rstudio内执行代码则会直接跳转到...「注:此方法只适用于CRAN及Github上的R包非100%都能检索,其它仓库不适用」 ❞ install.packages("packagefinder", dependencies = TRUE)...library(packagefinder) go("ggh4x","website") # 打开ggh4x包主页 循环格式转换 ❝使用purrr包写循环时会使得过程极为简洁,但是不利于直观阅读代码过程...,而loopurrr内的as_loop函数则可将此过程转换为常见的for循环。

    22110

    R入门?从Tidyverse学起!

    生成的数据框数据每列可以保持原来的数据格式,不会被强制性改变,即字符串,不会莫名其妙的变成因子格式; 2. 查看数据时,不再会一行显示不下,多行显示得非常丑; 3....数据操作速度会更快 如下图,直接查看tibble格式的数据,可以一目了然的看清数据的大小和每列的格式 ? 有两种方式来创建tibble格式的数据 1. 直接创建 ? 2....管道函数 %>% 在tidyverse中,管道符号是数据整理的主力,它的功能和Linux上的管道符“|”类似,可以把许多功能连在一起,而且简洁好看,比起R的基本代码更加容易阅读!...5. summarise & group_by group_by通常与summarise搭配使用,如果我们需要对不同species的数据计算均值,那么利用group_by指定需要分组的列,summarise...当然,入门之后如果使用者在未来需要使用R完成更细腻的分析时,再分配较充足的时间学习base R。

    2.6K30

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

    加载需要的R包 rm(list=ls()) library(ggstatsplot) library(ggplot2) 2. 用到的数据 dat <- bugs_long 3....重复测量数据的比较 一个组别如果分别在多个时间点被采集数据,这种情况就归属于重复测量设计,就不能采用ggbetweenstats了,因为已经违反了独立性的原则。...复杂分组重复测量比较 比较不同gender的condition各组的desire grouped_ggwithinstats( data = dat, x = condition, y =...一次性应用不同分析方法 和ggbetweens联合purr包相似,我们也可以用同样的方法进行批量绘制 这里我们使用ez包里的ANT数据作为示例数据 library(ez) data("ANT")...purrr::pmap( .l = list( data = cue_list, x = "flank", y = "rt", outlier.tagging =

    46820

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

    加载需要的R包 rm(list=ls()) library(ggstatsplot) library(ggplot2) 2. 用到的数据 dat <- bugs_long 3....重复测量数据的比较 一个组别如果分别在多个时间点被采集数据,这种情况就归属于重复测量设计,就不能采用ggbetweenstats了,因为已经违反了独立性的原则。...复杂分组重复测量比较 比较不同gender的condition各组的desire grouped_ggwithinstats( data = dat, x = condition, y =...一次性应用不同分析方法 和ggbetweens联合purr包相似,我们也可以用同样的方法进行批量绘制 这里我们使用ez包里的ANT数据作为示例数据 library(ez) data("ANT")...purrr::pmap( .l = list( data = cue_list, x = "flank", y = "rt", outlier.tagging =

    54820

    R 语言 逻辑运算:TRUEFALSE | 专题3

    逻辑运算是数学运算的重要组成部分,但其更是计算机计算的底层设置。作为一门数据处理语言,逻辑运算在R中承担着非常非常重要的作用。本专题就专门为大家整理一下R语言中的逻辑运算:TRUE/FALSE....(2)在R中,所有非零值在逻辑运算中都会被当作为TRUE。...上表中逻辑“与”【&】和逻辑“或”【 | 】是对向量的逻辑运算(虽然单个标量也适用),但其返回的结果是逻辑向量,是对逻辑运算中的每一组元素进行逻辑运算后返回的结果。...all(x==0)) #对x数据库做列操作,判断每一列中的所有元素是否为0,,然后渠非"!"...1 2 3 注图片来自于tidyverse网站:https://www.tidyverse.org/ 示例3:自建函数 + ifelse 来自拴小林(这个确实自己被搞复杂了) #---生成包含全0列数据集

    5.9K10

    这些逻辑运算符你都使用正确了吗?

    逻辑运算是数学运算的重要组成部分,但其更是计算机计算的底层设置。作为一门数据处理语言,逻辑运算在R中承担着非常非常重要的作用。本专题就专门为大家整理一下R语言中的逻辑运算:TRUE/FALSE....(2)在R中,所有非零值在逻辑运算中都会被当作为TRUE。...上表中逻辑“与”【&】和逻辑“或”【 | 】是对向量的逻辑运算(虽然单个标量也适用),但其返回的结果是逻辑向量,是对逻辑运算中的每一组元素进行逻辑运算后返回的结果。...all(x==0)) #对x数据库做列操作,判断每一列中的所有元素是否为0,,然后渠非"!"...注图片来自于tidyverse网站:https://www.tidyverse.org/ 示例3:自建函数 + ifelse 来自拴小林(这个确实自己被搞复杂了 ) #---生成包含全0列数据集———

    1K20

    Python入门之数据处理——12种有用的Pandas技巧

    在利用某些函数传递一个数据帧的每一行或列之后,Apply函数返回相应的值。该函数可以是系统自带的,也可以是用户定义的。举个例子,它可以用来找到任一行或者列的缺失值。 ? ?...# 7–合并数据帧 当我们需要对不同来源的信息进行合并时,合并数据帧变得很重要。假设对于不同物业类型,有不同的房屋均价(INR/平方米)。让我们定义这样一个数据帧: ? ?...# 12–在一个数据帧的行上进行迭代 这不是一个常用的操作。毕竟你不想卡在这里,是吧?有时你可能需要用for循环迭代所有的行。例如,我们面临的一个常见问题是在Python中对变量的不正确处理。...加载这个文件后,我们可以在每一行上进行迭代,以列类型指派数据类型给定义在“type(特征)”列的变量名。 ? ? 现在的信用记录列被修改为“object”类型,这在Pandas中表示名义变量。...◆ ◆ ◆ 结语 本文中,我们涉及了Pandas的不同函数,那是一些能让我们在探索数据和功能设计上更轻松的函数。同时,我们定义了一些通用函数,可以重复使用以在不同的数据集上达到类似的目的。

    5K50

    「r」dplyr 里的 join 与 base 里的 merge 存在差异

    今天在使用连接操作时发现:虽然都是合并操作函数,dplyr 包里的 *_join() 和基础包里面的 merge() 存在差异,不同的数据结构,结果也会存在偏差。...相同的数据,不同的操作函数存在差异 在进行连接操作时,我们会发现 dplyr 的结果会报错!...本质上是 data.table 体格的泛型函数不支持类似基础包中的操作。 如何编写代码支持对上述数据集的连接操作?...一般工作情况下,不同的数据子集都存在可以连接的列,所以无论上述哪种方法都可以胜任工作。...2 S1 S2 S2 S1 S2 更新 在后面的一些使用过程中发现基础包的 merge() 函数在进行连接操作时会输出有问题的结果,所以建议使用的小伙伴仔细检查结果。

    1.6K30

    Day7:R语言课程 (R语言进行数据可视化)

    1.设置数据框以进行可视化 在本课中需要制作与每个样本中的平均表达量相关的多个图,还需要使用所有可用的metadata来适当地注释图表。 观察rpkm数据。...每列代表实验中的样品,每个样品具有~38K值,对应着不同转录本的表达。最终需计算每个样本的表达量的平均值。一步一步来,如果只想要样本1的平均表达式(包括所有转录本),怎么做?...该族包括几个函数,每个函数的输入都是向量,输出是指定类型的向量。例如,用这些函数对向量中的每个元素或数据框中的每列或列表的每个组件执行某些任务/函数,依此类推。 map() 创建一个列表。...library(purrr) # Load the purrr samplemeans <- map_dbl(rpkm_ordered, mean) 可以将这个包含的12个元素的向量作为一列,添加到...尝试不同的东西,在图上同时显示细胞类型和基因型。为此,我们可以为列标题指定shape映射,不同形状表示不同的celltype。

    6K10

    Easy RoCE:在SONiC交换机上一键启用无损以太网

    RDMA(远程直接内存访问)技术是一种绕过 CPU 或操作系统,在计算机之间直接传输内存数据的技术。它释放了内存带宽和 CPU,使节点之间的通信具有更低的延迟和更高的吞吐量。...在 RoCEv2 网络中,如果出现数据包丢失,网卡将丢弃所有收到的数据包,而发送方需要重新传输所有后续数据包,导致网络传输性能大幅下降。...对于长期为客户配置 RoCEv2 网络的工程师来说,这可能并不困难。...这里使用的是星融元CX-N系列超低时延交换机,搭载SONiC企业级发行版AsterNOS3.1 R0405P01版本,但没有使用其上的 EasyRoCE 功能。...sonic(config)# interface ethernet 0/0 sonic(config-if-0/120)# service-policy roce-pmap 3、使用AsterNOS上的

    34810

    「R」tidyverse 中的公式函数

    构造数据 本文为了聚焦于公式函数本身的用法,我构造的示例数据会非常的简单。...img 公式保存了创建它的环境 使用到 R 的朋友几乎都用过公式,它在统计建模方面给了我们极大的方便。不过,公式相比于数值、逻辑值这些数据类型,有什么特点吗?...公式函数用法 核心是什么 公式函数的优点在于提供了一种构造匿名函数的简洁方式。而核心在于在同一行代码表示如何使用输入构造出输出。...基本用法 假设我们要对 df 中的 x 和 y 列进行归一化处理,在不使用 scale() 函数的情况下,我们可能会手写一个函数: scale2 <- function(x) { (x - mean...在公式中,我们可以直接使用前面已经定义的变量,这里是 cfs。

    4K20

    CVM性能排障工具使用手册

    你可以使用uptime 判断一个性能问题是出现在服务器上还是网络上。例如,如 果一个网络应用运行性能不理想,运行uptime 检查系统负载是否比较高,如果 不是这个问题更可能出现在你的网络上。...3.Top Top 命令显示了实际CPU 使用情况,默认情况下,它显示了服务器上占用CPU 的 任务信息并且每5 秒钟刷新一次。你可以通过多种方式分类它们,包括PID、时 间和内存使用情况。...多个单独的I/O 请求可以被 组成一个传输操作,因为一个传输操作可以是不同的容量。 Blk_read/s, Blk_wrtn/s:该设备每秒读写的块的数量。块可能为不同的容量。...下面是一个vmstat 命令的输出结果的示例。 注:在取样模式中需要考虑在数据收集中可能出现的误差,将取样频率设为比较 低的值可以尽可能的减小误差的影响。...IBM Director 可以被应 用在不同操作系统平台下,这样就为在异构环境下对数据的收集和分析提供了有 力的工具。 如果使用Capacity Manager,必须在系统中安装相关的rpm 包。

    1.1K10
    领券