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

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

Error in UseMethod("rescale") : "rescale"没有适用于"AsIs"目标对象方法 问题回顾及第一次解决方案 考虑到上一次推文思路复现为主,当时没注意到给出解决方案代码截图没有截完整...这部分主要解决两个问题: (1)上一篇推文提到过,错误出现原因是cnetplot生成ggplot2对象中data对象在渲染过程中某些数据被转换为了AsIs对象,最终导致报错。...map_df方面对数据进行调整,根据调用代码可知,其依然是对图层数据data做处理。...# { # if (empty(df) || length(scales$scales) == 0) # return(df) # 关键点在这里:对每一个scale对象,调用了它map_df...函数 # mapped <- unlist(lapply(scales$scales, function(scale) scale$map_df(df = df)), # recursive

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

R tips:使用lapply和do.call读取并合并多个文件

先模拟几个数据文件,用于导入### # 创建6个文件,每个文件有一个数据框,为一行三列数据,列名a,b,c dir.create("test") lapply(1:6, function(x){...= T)%>%lapply(function(x){ read.table(x, header = T) }) # 使用rbind合并 do.call(rbind, file_list) #结果如下...: # a b c #1 1 1 1 #2 2 2 2 #3 3 3 3 #4 4 4 4 #5 5 5 5 #6 6 6 6 这个方法很好用,有一个小问题:当数据列名不一样时,rbind会报错,比如...: # 更改第一个数据框列名为"d" "e" "f" colnames(file_list[[1]])<-c("d","e","f") do.call(rbind, file_list) #Error...#[4,] 4 4 4 #[5,] 5 5 5 #[6,] 6 6 6 当转换为matrix时候,由于matrix内格式都是一样,一旦原文件包含字符和数字,那么数字也会转换为字符,此时需要as.numeric

3.7K10

R︱foreach+doParallel并行+联用迭代器优化内存+并行机器学习算法

,%dopar%就是并行启动器 (2).combine:运算之后结果显示方式,default是list,“c”返回vector, cbind和rbind返回矩阵,"+"和"*"可以返回rbind之后...来看看上面的内容怎么用lapply实现: lapply(cbind(1:3,rep(10,3),function(x,y) x+y )) 但是有个小细节就是,%do%之后{}可以随意写中间赋值过程,譬如...2、参数:.combine——定义输出结果整合 默认是foreach之后返回是list,你可以指定自己想要格式。....,default是list,“c”返回vector, cbind和rbind返回矩阵,"+"和"*"可以返回rbind之后“+”或者“*”,帮你把数据整合起来。...本节想解决问题: 1、能不能输出每次迭代时间?

4K42

R数据分析大数据当中化整为零(Split-Apply-Combine)策略

化整为零策略有点类似于由Google推广map-reduce策略。...从上面的比较中,我们很清楚看到,sapply返回值排列形式,listnames为colnames。可以想象,它使用是按列填充matrix方式输出。...我们如果需要做上述分析应该怎么办呢?在思路上,我们想法可能会是先从ozonedf出发生成一个类似ozone这样子数据,然后再使用apply,lapply这样函数来完成就可以。...第一步生成ozone这样子数据,就是化整为零策略(Split-Apply-Combine)第一步了。...对于margins,可以是 .margins = 1 #行为单位 .margins = 2 #列为单位 .margins = c(1,2) #individual cell为单位 需要注意是,这里每一个参数都使用了

1.2K80

R语言里面双层list变成长形数据框

有3个样本,每个样本里面都是上下调基因集合, g1和g2区分: require("VennDiagram") VENN.LIST <- lapply(gs, function(x) x$g1) venn.plot1...韦恩图固然是一种展现方式,可以看到3个样品各自上下调基因overlap情况,基本上呢,随机生成数值它们overlap不咋地!...但是呢,3个样品我们其实更想看各自上下调基因集生物学功能,需要把这个双层list变成长形数据框 ,超级复杂,下面的代码: deg=gs deg_list=lapply(names(deg), function...(tmp[[x]])) })),sep='_') , gene=unlist(tmp)) }) group_g=do.call(rbind,deg_list) group_g=do.call(...rbind,deg_list) library(org.Hs.eg.db) group_g$gene=toTable(org.Hs.egSYMBOL)[group_g$gene,2] head(group_g

63810

隐式循环及function函数

min.cells = 5, min.features = 300 ) return(sce) }) do.call(rbind...,lapply(sceList, dim)) 正好复习R语言基础时候,学到了apply()和lapply()两个函数,那一起来了解一下隐式循环吧!...[,1:4], 2, plot) lapply()函数 lapply返回与X长度相同列表,其中每个元素都是将FUN应用于X相应元素结果。...lapply是apply()函数变种,主要用于处理列表/向量(列表/向量没有行和列概念,所以会比对矩阵/数据框操作更简单一些),也更适用于批量读取数据或者处理统计数据 基本语法为: lapply(...NAMES = FALSE)与lapply(x, f)相同。 Vapply类似于sapply,但它有一个预先指定返回值类型,因此使用它可能更安全(有时更快)。

12010

用R语言进行网站评论文本挖掘聚类|附代码数据

p=3994原文出处:拓端数据部落公众号 最近我们被客户要求撰写关于文本挖掘研究报告,包括一些图形和统计输出。...(d$word))>1 & d$freq>=100)  # == 输出结果                                                                                                         ...(d$word))>1 & d$freq>=100)  #获得高频词汇rating=matrix(0,length(res1),dim(d)[1])#生成评价矩阵colnames(rating)=d[,...[-17],freq3[-17],random.order=FALSE,random.color=FALSE,colors=mycolors,family="myFont3")######算法比较y=rbind...(matrix(rnorm(10000,mean=2,sd=0.3),ncol=10),matrix(rnorm(10000,mean=1,sd=0.7),ncol=10))#生成两类随机数合并colnames

26920

3种方法为你稀有物种建立生物学知识数据库

这里,我们大鼠为例,演示3种方法为你稀有物种建立生物学知识数据库,单细胞数据分析环节细胞通讯,CellChat为例,可以在:CellChat学习笔记【一】——通讯网络构建了解它基础用法,**CellChat...首先看看CellChat自带3个数据库 每个数据库文件在r里面的都是一个简单list,所以很容易探索: library(CellChat) dbh <- CellChatDB.human lapply...(dbh, dim) dbm <- CellChatDB.mouse lapply(dbm, dim) dbz <- CellChatDB.zebrafish lapply(dbz, dim) cbind...( do.call(rbind,lapply(dbh, dim)) , do.call(rbind,lapply(dbm, dim)), do.call(rbind,lapply(dbz,...,搞小鼠科学研究那些人就不能低头吗,给人类科学让路,自己那一小撮人开会自己检讨一下自己基因命名问题,人类研究为准,身为科学家居然搞不清楚自己搞科学目的,不应该是造福人类吗?

93741

R语言数据结构(包含向量和向量化详细解释)

相当于纵向拉长,但最终仍然生成矩阵。...3向量化及向量化函数 3.1向量输入,向量或矩阵输出 向量输入,向量输出 向量化就是对向量每一个元素应用函数,如果一个函数使用了向量化运算符,那么它也被向量化了,代码运行速度会提升。...3.2.1生成筛选索引 目的,筛选x中平方值大于8元素(不是元素位置,是元素本身) x <- c(5,2,-3,8) > x <- c(5,2,-3,8) > x[x*x>8] [1] 5 -3...sapply输出是向量。...假如我们25岁为条件,那么需要把年龄转化为因子,比如大于25为1,小于25为0,或其他,用前面的ifelse函数进行赋值 排列组合,性别2个因子,年龄2个因子,所以会将收入分为4组,每组代表性别和年龄一种组合

7K20

R语言实现并行计算

Python作为多线程编程语言在并行方面相对于R语言有很大优势,然而作为占据统计分析一席之地R语言自然不能没有并行计算助力。...那么我们来看下在R语言中有哪些并行包:隐式并行:OpenBLAS,Intel MKL,NVIDIA cuBLAS等;显性并行:parallel(主打lapply应用)、foreach(主打for循环)...6. parLapply(), parSapply(), 和 parApply() 和函数 lapply, sapply 及 apply一一对应。可以直接将自定义函数引入并行环境。...7. clusterApply() 类似parLapply 系列,可以直接运行得到所有结果,输出列表格式。clusterApplyLB()便是对其优化,具体优化模式我们就不赘述了。...实例: res=clusterApply(cl,2:10, function(y) xx +y)do.call('rbind',res) ? 9. stopCluster() 关闭集群。

2.9K31
领券