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

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

感觉purrr 包的函数非常像py 中的匿名函数相关的函数。 而功能上,其起到的作用更像是简化和丰富了apply 家族函数的调用。...无名函数写成“~ 表达式”格式, 表达式就是无名函数定义, 用.表示只有一个自变量时的自变量名, 用.x和.y表示只有两个自变量时的自变量名, 用..1、..2、..3这样的名字表示有多个自变量时的自变量名...除此之外,map 还有其他的变种: modify(),输入一个数据自变量和一个函数, 输出与输入数据同类型的结果; map2()可以输入两个数据自变量和一个函数两个自变量相同下标的元素用函数进行变换...purrr包的pmap类函数支持对多个列表、数据框、向量等进行向量化处理。pmap不是多个列表等作为多个自变量, 而是将它们打包为一个列表。...数据分散存储在不同计算节点中, 需要的操作先映射到每台计算节点, 进行信息提取压缩, 最后用reduce的思想将不同节点的信息整合在一起。 6.

2.4K30
您找到你想要的搜索结果了吗?
是的
没有找到

「R」tidyverse 中的公式函数

公式函数用法 核心是什么 公式函数的优点在于提供了一种构造匿名函数的简洁方式。而核心在于在同一行代码表示如何使用输入构造出输出。...这里值得注意的是,当匿名函数只有一个参数时,我们用 .x 表示函数的输入参数。如果进行拓展,2 个参数时使用 .x 与 .y,3 个参数时使用 ..1, ..2, ..3 等。...2 次,使用公式函数结合 purrr 可以写出更简洁的代码: df3 <- purrr::map_df(df, ~ (.x - mean(.x)) / sd(.x)) 我们检查下两种操作是否结果相同:...计算残差 最开始的图形显示了 x 和 y 是一个线性关系,假设我们目前有一个任务:构建回归模型并手动计算残差,绘制结果图。 我们来看看如何操作。...在公式中,我们可以直接使用前面已经定义的变量,这里是 cfs。

3.9K20

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

写在前面 点图用处非常广泛,可以展示变量的分布情况,变量之间的相关性,回归结果等 本期介绍的是ggstatsplot包中绘制dotplot,scatterplot相关函数 2....示例数据 dat <- mpg 图片 4. dotplot展示样本分布 4.1 初步绘制 用到的函数是ggscatterstats 由于因子太多,我们在这里用filter函数过滤一下 df <- dplyr...grouped_ggdotplotstats 我们看一下不同cyl和cty的manufacturer分布情况 当然你也可以使用purrr包批量绘制,前面几期都讲过了, 这里就不赘述了 grouped_ggdotplotstats...annotation.args = list(title = "Fuel economy data"), plotgrid.args = list(nrow = 2) ) 图片 5. scatterplot展示变量相关性...grouped_ggscatterstats 我们看一下不同cly的displ的hwy的相关性 当然purrr包也是支持批量绘制的 grouped_ggscatterstats( ## arguments

39020

「Workshop」第四期:Tidyverse 实战批量建模可视化

本次主要介绍了一些基本的正则表达式用法以及公式的创建和使用,然后介绍使用 tidyverse 组合拳进行批量建模和可视化。...查看本期代码[2] 资料: 小抄-因子[3] 小抄-purrr[4] 小抄-正则[5] 小抄-stringr[6] 内容: 字符处理基础 因子 手动 常见需求 基础字符串处理函数 映射 stringr...常用函数 建模基础:参考 https://www.jianshu.com/p/f8ce25fb2697 https://openbiox.github.io/Cookbook-for-R-Chinese.../section-4.html 基础教程:https://www.datacamp.com/community/tutorials/r-formula-tutorial 因变量与自变量 y ~ x 公式表示...字符串转公式 实战:结合 tidyverse 对 mtcars 进行批量建模和生成 ggplot2 图形 编程变量名组合转为公式 目标数据结构与生成 分组处理 purrr 批量建模与可视化 图形拼接

77720

R for data science (第一章)①Chapter1 使用ggplot2进行数据可视化

您可以通过绘图中的aesthetic映射到数据集中的变量来传达有关数据的信息。 例如,您可以点的颜色映射到变量以显示每辆汽车的类。...在上面的例子中,我们类映射到颜色,但我们可以以相同的方式类映射到大小。在这种情况下,每个点的确切大小将揭示其类别隶属关系。...我们在这里得到一个警告,因为无序变量(类)映射到有序(大小)并不是一个好主意。...ggplot2一次只能使用六个形状。默认情况下,使用形状美学时,其他组进行非开槽。 对于每种美学,您使用aes()aesthetic名称与要显示的变量相关联。...aes()函数图层使用的每个aesthetic映射集合在一起,并将它们传递给图层的映射参数。

2.7K20

R语言亚组分析1行代码实现!

前几天演示了如何使用purrr进行回归模型的亚组分析及森林图绘制: R语言亚组分析及森林图绘制 本来找了好久没找到可以实现这个功能的R包,都打算自己写个包了,没想到这几天找到了!...完美实现COX回归和logistic回归的亚组分析,除此之外,还支持svyglm、svycoxph的结果,并且数据结果可直接用于绘制森林图,连NA和各种空行都给你准备好了!...包的名字叫jstable,直达网址:https://jinseob2kim.github.io/jstable/ 这个包除了亚组分析外,还有其他很多函数,大家自己探索即可,我这里就演示下如何进行亚组分析...cox回归探索危险因素。...分类变量需要变为因子型,这样在进行回归时会自动进行哑变量设置。 为了演示,我们只选择Obs组和Lev+5FU组的患者,所有的分类变量都变为factor,把年龄也变为分类变量并变成factor。

87620

tidyverse:R语言中相当于python中pandas+matplotlib的存在

出版有《R for Data Science》(中文版《R数据科学》),这本书详细介绍了tidyverse的使用方法。...——左侧的值应用到右侧数据data位置 管道函数在tidyverse中,管道符号是数据整理的主力,可以把许多功能连在一起,而且简洁好看,比起R的基本代码更加容易阅读!...collection/467554113 #gather(data, key, value, …, na.rm = FALSE, convert = FALSE) #data:需要被转换的宽形表 #key:原数据框中的所有列赋给一个新变量...key #value:原数据框中的所有值赋给一个新变量value #…:可以指定哪些列聚到同一列中 #na.rm:是否删除缺失值 widedata <- data.frame(person=c('Alex...467554113 #spread(data, key, value, fill = NA, convert = FALSE, drop = TRUE) #data:为需要转换的长形表 #key:需要将变量值拓展为字段的变量

3.9K10

「R」用purrr实现迭代

接下来我们学习和使用purrr包,它提供的函数可以替代很多常见的for循环应用。R基础包中的apply应用函数族也可以完成类似的任务,但purrr包的函数更一致,也更容易学习。...使用purrr函数替代for循环的目的是常见的列表问题分解为独立的几部分: 对于列表的单个元素,我们能找到解决办法吗?如果可以,我们就能使用purrr将该方法扩展到列表的所有元素。...使用purrr,我们可以解决子问题,然后用管道将其组合起来。 映射函数 先对向量进行循环,然后对其每一个元素进行一番处理,最后保存结果。...purrr提供了pmap()函数,它可以列表作为参数。...当使用函数的目的是向屏幕提供输出或文件保存到磁盘——重要的是操作过程而不是返回值,我们应该使用游走函数,而不是映射函数

4.7K20

TOP 10:初学者需要掌握的10大机器学习算法

ML算法是指那些无需人工干预,仅凭数据和经验就能不断学习、改进的算法,它们的学习任务可能包括利用函数输入映射到输出、在未经标记的数据中学习隐藏结构;或者是“基于实例学习”,通过新实例训练结合储存在存储器中的训练数据对比生成类标签...1.监督学习 我们可以把监督学习简单解释为使用经标记的训练数据来学习映射函数输入变量(X)映射到输出变量(Y): Y = f (X)....线性回归示意图 在线性回归算法中,输入变量(X)和输出变量(Y)的关系可被表示为函数y=ax+b,因此我们的目标是找出系数a和b的值。...它的名称源于使用的变换函数,这是一个逻辑函数h(x)=1/(1+e^-x),在图中表示为一条S形曲线。 在logistic回归算法中,输出是以默认类概率的形式出现的(不同于直接产生输出的线性回归)。...如上图所示,logistic回归算法中的逻辑函数数据集中样本各个值的x转换成范围在0—1之间的数h(x),如果概率大于0.5,那就是恶性肿瘤。

91100

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

`map`系列函数 purrr包map()提供了一系列函数,它是tidyverse中的一个包。参阅R for Data Science一书。...library(purrr) # Load the purrr samplemeans <- map_dbl(rpkm_ordered, mean) 可以这个包含的12个元素的向量作为一列,添加到...可以调整geom_point()的大小,但并不需要列入aes(),因为是指定点的大小,而不是将其映射到一个变量。...在这里,轴标签和轴刻度标签的大小增加到默认大小的1.5倍。修改文本大小使用rel()函数。指定的大小是相对于默认值(类似于基础绘图cex)。...散点图输出成pdf文件格式。首先,你需要使用一个函数,指定希望创建的图形格式(初始化),例如pdf(),png(),tiff()等等。再函数内部为你的图像指定名称,宽度和高度(可选)。

6K10

R语言如何和何时使用glmnet岭回归

p=3373 这里向您展示如何在R中使用glmnet包进行岭回归使用L2正则化的线性回归),并使用模拟来演示其相对于普通最小二乘回归的优势。...岭回归回归模型的参数被学习时,岭回归使用L2正则化来加权/惩罚残差。在线性回归的背景下,它可以与普通最小二乘法(OLS)进行比较。OLS定义了计算参数估计值(截距和斜率)的函数。...您必须指定alpha = 0岭回归。 岭回归涉及调整超参数lambda。glmnet()会为你生成默认值。另外,通常的做法是用lambda参数来定义你自己(我们这样做)。...我首先设置了运行模拟的功能: 现在针对不同数量的训练数据和特征的相对比例运行模拟(需要一些时间): d <- purrr::cross_d(list(n_train = seq(20,200,20),...下面的图有助于Ridge对OLS的相对优势(或劣势)可视化为观察值和特征的数量: ? 这显示了综合效应:当训练观察数量较低和/或特征数目相对于训练观察数目较高时,Ridge回归更好地转移到测试数据。

5.1K10

Hadley Wickham 采访节选(二)

今天的节选继续上期两人对于tidy-verse包的讨论。 ? 采 访节选:你最喜欢的tidyverse包? “ 你最喜欢的tidyverse包?...purrr的设计目的并不是说要实现base R中无法实现的功能,只是base R中的这些底层函数使用起来太不方便而且容易出错,而purrr则用一种统一、安全的方式去重新打包了这些函数。...但是话说回来,在我最近写的包里面,我都尽量不使用purrr。 (purrr包的logo) ? “ 等等,你为什么不愿意在你最近写的这个包里面用purrr呢?...最近我不是在开发Bigrquiry这个包嘛(大猫:一个使用R从Google BigQuiry提取数据的API),我发现如果我用了purrr,那么我就很难避免不用dplyr,因为purrr严重依赖dplyr...在下一个版本的dplyr中,我引入“quasi-quotation”这个概念,它让用dplyr写函数比以往要方便许多。

67420

R语言倾向性评分:回归和分层

倾向性评分有4种应用,前面介绍了倾向性评分匹配及matchIt和cobalt包的使用:R语言倾向性评分:匹配 今天说一下倾向性评分回归和分层。...使用了一个不是很成功的案例,并使用了大量purrr风格的代码实现。...倾向性评分回归 此时如果直接把这个评分和catholic作为自变量进行回归分析,就是倾向性评分回归了(也叫协变量调整/倾向性评分矫正等)!应该是倾向性评分4种方法里面最简单的一种了。...t检验,其实这里可以直接用rstatix包解决,非常好用,但其实rstatix包就是基于purrr的,所以直接用purrr也可以。...大家可以考虑不同的分层方法再重新尝试几次,或者这个数据并不适合使用这种方法,可以用其他方法试试看,比如匹配、回归等。

1.3K00

散点图及数据分布情况

5.3 使用不同于默认设置的点形 5.4 连续变量射到点的颜色或大小属性上 5.5 处理图形重叠问题 5.6 添加回归模型拟合线 5.7 根据已有模型向散点图添加拟合线 5.8 添加来自多个已有模型的拟合线...A:分组变量射到点形shape,或颜色colour属性。...A:连续变量射到size或colour属性上即可 heightweight %>% select(sex,ageYear,heightIn,weightLb)#导入新的变量weightLb...只是,如果变量增加一倍,点的面积就会增加四倍 #因此我们更加希望GDP映射到面积上,可以使用scale_size_area() cdat_sp <- ggplot(cdat, aes(x = healthexp...A:使用geom_density()函数分组变量射到colour或者fill属性即可。分组变量必须是因子型或者字符向量。

7.9K10

logistic回归

使用场景大概有两个:第一用来预测,第二寻找因变量的影响因素。  一 从线性回归到Logistic回归 线性回归和Logistic回归都是广义线性模型的特例。...如果y为二分类变量,只能取值0或1,那么线性回归方程就会遇到困难: 方程右侧是一个连续的值,取值为负无穷到正无穷,而左侧只能取值[0,1],无法对应。...为了继续使用线性回归的思想,统计学家想到了一个变换方法,就是方程右边的取值变换为[0,1]。...最后选中了Logistic函数: y = 1 / (1+e-x) 这是一个S型函数,值域为(0,1),能将任何数值映射到(0,1),且具有无限阶可导等优良数学性质。...我们线性回归方程改写为: y = 1 / (1+e-z), 其中,z =β0 +β1*x1 +β2*x2 +β3*x3 +...+βn*xn 此时方程两边的取值都在0和1之间。

71610

学习R语言,一篇文章让你从懵圈到入门

git2r:用于访问git仓库 数据整理 以下R包主要用于数据整理,以便于你后续建模分析: tidyr:用于整理表格数据的布局 dplyr:用于多个数据表连接成一个整齐的数据集 purrr函数式编程工具...car:提供了大量的增强版的拟合和评价回归模型的函数。...broom:统计模型结果整理成数据框形式 caret:一个用于解决分类和回归问题的数据训练综合工具包 glmnet:通过极大惩罚似然来拟合广义线性模型 gbm:用于实现随机梯度提升算法 xgboost...详见统计之都的一篇介绍 randomForest:提供了用随机森林做回归和分类的函数 ranger:用于随机森林算法的快速实现 h2o:H2O是0xdata的旗舰产品,是一款核心数据分析平台。...purrr:一个用于 提供函数式编程方法的工具 profvis:用于可视化R代码的性能分析数据 Rcpp:用于实现R与C++的无缝整合。

3.6K60
领券