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

R tips:进一步debug并修复cnetplot绘图bug

R升级到4.0+后,clusterProfilercnetplot会报如下rescale错误,这个现象以及解决方法以前推文:R tips:debug并修复一个ggplot2绘图错误例子中曾经说过...同样使用测试R对象如下位置 文件名:test.rds 链接:https://pan.baidu.com/s/1l2hqNw034OEBwVvfy7_01g 提取码:kezh 载入工具包及导入rds...这部分主要解决两个问题: (1)上一篇推文提到过,错误出现原因是cnetplot生成ggplot2对象data对象渲染过程某些数据被转换为了AsIs对象,最终导致报错。...然后还要考虑到这里I函数包裹是否有一些特殊作用,是否是用于了屏蔽特定bug。 这个思路想想就比较头痛,有没有更好办法解决问题呢? 现在去看看第一现场发生了什么?...map_df方面对数据进行调整,根据调用代码可知,其依然是对图层数据data做处理。

2.9K80

R语言中 apply 函数详解

apply函数集来转换R数据 介绍 数据操作是机器学习生命周期中最关键步骤之一。...因此,Python和R中都有大量函数和工具可以帮助我们完成这项任务,这一点也不奇怪。 今天,我们将使用R并学习R中转换数据使用最广泛一组“apply”函数。...这里, X是指我们将对其应用操作数据集(本例是矩阵) MARGIN参数允许我们指定是按行还是按列应用操作 行边距=1 列边距=2 FUN指的是我们想要在X上“应用”任何用户定义内置函数 让我们看看计算每行平均数简单示例...lapply()是list apply缩写,可以对列表向量使用lapply函数。无论是一个向量列表还是一个简单向量,lappy()都可以在这两个向量上使用。...尾注 到目前为止,我们学习了Rapply()函数族各种函数。这些函数集提供了一瞬间对数据应用各种操作极其有效方法。本文介绍了这些函数基础知识,目的是让你了解这些函数是如何工作

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

SparkR:数据科学家新利器

摘要:R数据科学家中最流行编程语言和环境之一,Spark中加入对R支持是社区较受关注的话题。...目前SparkR RDD实现了Scala RDD API大部分方法,可以满足大多数情况下使用需求: SparkR支持创建RDD方式有: 从R listvector创建RDD(parallelize...为了符合R用户经常使用lapply()对一个list每一个元素应用某个指定函数习惯,SparkRRDD类上提供了SparkR专有的transformation方法:lapply()、lapplyPartition...使用RPythonDataFrame API能获得和Scala近乎相同性能。而使用RPythonRDD API性能比起Scala RDD API来有较大性能差距。...假设rdd为一个RDD对象,Java/Scala API,调用rddmap()方法形式为:rdd.map(…),而在SparkR,调用形式为:map(rdd, …)。

4.1K20

数据科学家】SparkR:数据科学家新利器

RDD API 用户使用SparkR RDD APIR创建RDD,并在RDD上执行各种操作。...目前SparkR RDD实现了Scala RDD API大部分方法,可以满足大多数情况下使用需求: SparkR支持创建RDD方式有: 从R listvector创建RDD(parallelize...为了符合R用户经常使用lapply()对一个list每一个元素应用某个指定函数习惯,SparkRRDD类上提供了SparkR专有的transformation方法:lapply()、lapplyPartition...使用RPythonDataFrame API能获得和Scala近乎相同性能。而使用RPythonRDD API性能比起Scala RDD API来有较大性能差距。...假设rdd为一个RDD对象,Java/Scala API,调用rddmap()方法形式为:rdd.map(…),而在SparkR,调用形式为:map(rdd, …)。

3.5K100

Redis 6.0新特性----RESP3协议

RESP3 类型 RESP3摒弃了RESP第二个版本令人费解措辞,使用了一个更易于理解类型名称,因此本文中您将看不到对批量回复多批量回复提及。...通常Redis命令只会使用这些可能性一个子集。但是,使用Lua脚本使用Redis模块,任何组合都是可能。...,该类型表示元素有序序列,可以常量对数时间内随机索引访问。...Map可以有任何其他类型作为字段和值,但是Redis将只使用可用可能性子集。例如,Redis命令不太可能返回一个数组作为键,但是Lua脚本和模块可能会这样做。...例如,他们将尝试某个映射、散列Set数据类型添加每个read元素,再次添加相同元素将替换旧副本,或者将无声地失败,从而保留旧副本。

1.5K20

R语言中批处理函数

R语言中,apply系列函数作为批量处理函数,可以循环遍历某个集合内所有部分元素,以简化操作。这些函数底层是通过C来实现,所以效率也比手工遍历来高效。...apply系列函数基本作用是对矩阵或者列表(list)按照元素元素构成子集合进行迭代,并将当前元素子集合作为参数调用某个指定函数。...apply族函数分别有apply函数,tapply函数,lapply函数,mapply函数。每一个函数都有自己特点,处理不同类型数据可以选用相对应函数。...lapply函数得到处理得到数据类型是列表,而sapply函数得到处理数据类型是向量。这两个函数除了返回值类型不同外,其他方面基本完全一样。 ? ?...总结以上函数应用可以减少R语言中For循环,从而提升R语言效率。 欢迎各位学习交流

2.6K20

R语言 常见函数知识点梳理与解析 | 精选分析

22、输入输出 23、工作环境 24、简单统计量 25、时间序列 【往期回顾】 R语言 | 第一部分:数据预处理 R语言|第2讲:生成数据 R语言常用数据输入与输出方法 | 第三讲 R语言数据管理与...这一函数去除数据缺失值时很有用。...list:列表 data.frame:数据框 c:连接为向量列表 length:求长度 subset:求子集 seq,from:to,sequence:等差序列 rep:重复 NA:缺失值 NULL...计算数据子集概括统计量 scale:矩阵标准化 matplot:对矩阵各列绘图 cor:相关阵协差阵 Contrast:对照矩阵 row:矩阵行下标集 col:求列下标集 19、逻辑运算 <,...:时间序列采样时间 window:时间窗 说明:本文中前半部分内容为作者自行整理,后半部分内容引自网络,稍作整理(蓝色标记部分是笔者认为比较常见和使用函数)。

2.3K21

MLQuant:基于XGBoost金融时序交易策略(附代码)

在这篇文章我们将一系列资产时间序列数据分解成一个简单分类问题,看看机器学习模型能否更好地预测下一个周期方向。目标和策略是每天投资一项资产。...()函数应用于它,而不会出现资产类任何重叠混合,我们这样做是为了为每个周期创建时间序列特征。...nested_df % mutate(duplicate_ID = ID) %>% nest(-ID) 我们将时间序列数据分为多个列表,以使该analysis()列表每个列表包含...第一个rolling_origin()函数是用于通过获取前100天数据并计算其上tsfeatures函数来帮助滚动基础上向下折叠时间序列数据,这与使用zoo包rollapply()函数来计算使用滚动平均值...——此时应执行适当交叉验证,但是由于时间序列交叉验证非常棘手,R没有函数可以帮助这种类型交叉验证。我们将在后面的文章给读者介绍其方法。 一旦模型被训练好,我们就开始做预测。

2.7K41

从零开始异世界生信学习 R语言部分 06 R应用专题

list,使用下标循环,可以将每次循环结果都保存到列表 ## cbind 按列拼接 a = rnorm(10) b = 1:10 cbind(a,b) ##do.call() 函数是对列表 list...操作函数,批量操作 图片 图片 分批次将运行结果保存为R.data格式便于管理数据 图片 大段代码暂时不运行可以进行折叠,并加入一个if 判断或者注释掉 表达矩阵箱线图 表达矩阵 R 语言作图要求将宽数据表达矩阵转变成长数据后昨天...) ##对test数据每一行求和 图片 图片 ### 2.lapply(list, FUN, …) # 对列表/向量每个元素(向量)实施相同操作 test <- list(x = 36:...(test,fivenum) lapply(test, var) lapply(test, sd) lapply(test, quantile) 图片 ### 3.sapply 简化结果,返回矩阵向量...full_join(test1,test2,by="name") ##取全集 semi_join(test1,test2,by="name") ##半连接,对左边表格取右边表格住存在子集 anti_join

2.5K30

R语言函数

%in% x %in% y #x每个元素y存在吗 y %in% x #y每个元素x存在吗 #取交集intersect会去重复,而%in%不会 6.向量筛选(取子集)——[] x <- 8:12...#x[x<-2]改为x[x< -2],注意区分赋值号和小于-2 ####修改向量某个/某些元素:取子集+赋值 x #改一个元素 x[4] <- 40#将x第4个值改为40 #改多个元素 x...将这些元素筛选出来 7.隐式循环——apply(R_04) apply 处理矩阵数据框: #apply(X, MARGIN, FUN, …) #其中X是数据框/矩阵名; #MARGIN为1表示行,...lapply(test,mean) lapply(test,fivenum) #sapply 简化结果,返回矩阵向量 sapply(test,mean) sapply(test,fivenum)...(test1,test2,by="name")#半连接:左边表取子集(将右边存在的人留下) anti_join(test1,test2,by="name")#反连接:左边表取子集(将右边不存在的人留下

21620

R语言︱机器学习模型评估方案(以随机森林算法为例)

本篇可以用于情感挖掘监督式算法模型评估,可以与博客对着看:R语言︱监督算法式情感分析笔记 机器学习算法评估主要方案为: 机器学习算法建立——K层交叉检验(数据分折、交叉检验...,其余K-1组子集作为训练集,以此重复k次,这样会得到K个模型,用这K个模型k个测试集上准确率(其他评价指标)平均数作为模型性能评价指标。...包,运行了881.05秒 #i,j,实际值、预测值 代码解读:j和i分别代表树数量以及K折,lapply先生成了如图1 randomtree(j)以及kcross(i)序列; 然后写cvtest函数...mdply函数,是plyr包apply家族,可以依次执行自编函数。而普通apply家族(apply、lapply)大多只能执行一些简单描述性函数。...以下两个方法检验,都需要因子型分类数据(这里是树J折数i,要转化为因子型)。

4.4K20

R tips:debug并修复一个ggplot2绘图错误例子

出现bug代码是使用clusterProfilercnetplot函数绘制一个富集分析图,正常情况下,它应该是出图如下: bug重现 出现问题R对象是一个clusterProfiler富集分析对象...ggplot_build.ggplot方法是ggplot2包一个方法,call stack可以发现是它lapply(data, scales_map_df, scales = npscales)...如果是一步一步逐一检视data对象的话,可以知道它大概是data <- lapply(data, scales_transform_df, scales = scales)这条命令处出现了AsIs问题...不过对于要修复这个问题来说,目前信息已经足够了。 如何使用RStudio进行debug代码以及如何自由查看R函数源码,以前R tips推文中都曾经说过。...由于这个函数源码ggplot2包,现在是没办法直接修改这个函数源码,但是我们可以再创建一个ggplot_build.ggplot函数去覆盖原来函数,只需要保证新建ggplot_build.ggplot

2.4K20

高效R编程

总用永远不用都是不明智,通常,变量有固有顺序,你有固定不变类别集合,考虑使用因子。...将一个函数应用到每行每列。参数可以放在后面传递给函数。 apply()可以用于处理高维数组。 lapply() 输入是向量/列表,返回列表。...lapply()与vapply()一致,dplyr::select()与dplyr::filter()也是.purrmap_dbl()代替Map(),flatten_df()代替unlist()。...保存函数运行结果,牺牲缓存换速度,最多能100倍速度提升,在内存充足今天应该还好,只要不上大数据,16G内存已经普遍了。典型应用是shiny app,可以回事用户得到结果,减少等待时间。...windows需要使用Rtools: 或者修改R.environ文件R_COMPILE_PKGS设为正整数并指定从source安装 install.packages("ggplot2", type=

1.3K30

2023.4生信马拉松day7-R语言综合应用

-(2)列表使用不方便——simplify = T简化结果,简化成矩阵 -(3)注意:之前提到过,矩阵某一列不能单独转换数据类型,需要把矩阵转换成数据框再转换某列数据类型;或者把这列单独提取出来再转换其数据类型...mutated()数据框新增一列 mutate(test, new = Sepal.Length * Sepal.Width) #问题:新增列之后,test这个数据框是5列还是6列(有没有发生改变)?...使用转换好数据画图 #数据转换好就可以画图了 library(ggplot2) p = ggplot(pdat,aes(gene,count))+ geom_boxplot(aes(fill =...如何挑出30个数里最大五个 -(1)排序 -(2)取最后五个 图片 3.向量/列表隐式循环-lapply() 对列表/向量每个元素实施相同操作 lapply(1:4,rnorm) #批量画图...4. full_join 保留所有的,缺失位置填充NA 5. semi_join 半连接,效果是取子集:以右边表格为参考对左边取子集 6. anti_join 保留左边表格右边表格里没有的东西 test1

3.6K80

Apache Spark 2.2.0 中文文档 - SparkR (R on Spark) | ApacheCN

使用 spark.lapply 分发运行一个本地 R 函数 spark.lapply SparkR 运行 SQL 查询 机器学习 算法 分类 回归 树 聚类 协同过滤...概念上 相当于关系数据 table 表 R data frame,但在该引擎下有更多优化....SparkDataFrames 可以从各种来源构造,例如: 结构化数据文件,Hive 表,外部数据现有的本地 R data frames....可以用 spark-submit  sparkR 命令指定 --packages 来添加这些包, 或者交互式 R shell 从 RStudio 中使用sparkPackages 参数初始化 SparkSession... spark.lapply 分发运行一个本地 R 函数 spark.lapply 类似于本地 R  lapply, spark.lapply 元素列表运行一个函数,并使用 Spark 分发计算

2.2K50

【测评】提高R运行效率若干方法

唯一需要改进地方就是速度太慢了,因为做相关性分析,要计算6万多次相关系数,居然要花了547秒,接近10分钟时候才计算完毕,时间就是金钱,有没有办法提高R程序运行效率呢?...首先,我们看看最花费时间这段函数: 第一招:用apply函数代替For循环 其实我们知道R里面最能提升效率一个方法就是少用For循环,多用apply,因为R是面向数组语言,apply面向数组遍历...Hadley大神Advance R里面建议可以用编译函数外挂C语言脚本来提升函数效率,那么我们先来试试用编译函数效果。...第四招:利用data.table数据结构 既然计算相关性耗时不是决定性因素,有没有可能是因为数据结构问题,因为最典型例子就是read.csv和fread读写文件巨大差异: 由于data.table...但比较遗憾是调用parallel包时候不能同时使用data.table数据结构,因为data.table也是多线程,它其实也是通过调用parallel::mclapply和foreach包里函数实现快速处理

1.1K10

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

需要注意是, 如果map()等泛函无名函数需要访问其它变量的话, 需要理解其变量作用域访问环境。另外, 无名函数其它变量每次被map()应用到输入列表元素时都会重新计算求值。...JSON、YAML等格式转换为R对象就经常具有这种嵌套结构。一般这种类型数据,导入R 后就表现为嵌套列表格式,也就是列表每个元素也都是列表。...reduce2 reduce2(x, y, f) x是要进行连续运算数据列表向量, 而y是给这些运算提供不同参数。...[[3]] ## [1] 2 3 1 5 4 ## ## [[4]] ## [1] 2 3 1 5 4 Map-reduce算法 Map-reduce是大数据技术重要算法, Hadoop分布式数据主要使用此算法思想...其他有用函数 比如keep, 可以专门用来选择数据框各列列表元素满足某种条件子集, 这个条件用一个返回逻辑值函数来给出。

2.4K30

R tips:使用enframe和map2优雅迭代列表

R更易于处理数据形式是data.frame,list并不是太好处理,常用操作就是对它进行循环迭代。...for或者lapply迭代 可以使用for循环或者lapply对列表进行迭代,比如要绘图,则可以: for (i in test) plot(i) lapply(test, plot) 都是将列表三个元素绘制出三个散点图...使用enframe和map2迭代列表 但是其实可以有更优雅方式迭代列表,还可以完成更多操作,比如在每个图形上加上各自注释信息。...同时对name和value两列数据进行迭代,使用map2函数: # 可以使用plot绘制 # name和value值分别使用.x和.y引用 test_t %$% map2(name, value, ~...如果使用ggplot2绘制,则是如下: ? 这里传递test_t参数给map2时使用magrittr包”爆炸运算符“:%$%。

1.8K10
领券