今天讲的这个小问题,没有用过 PyCharm 的同学会完全不知所云,但用过的人,可能有一半以上概率会遇到这个算不上 bug 但也可能让人迷惑的坑。...情况就是:当你写了一段代码,点击 PyCharm 右上角的绿色小三角运行程序时,发现结果跟你预期的完全不相干。然后,无论你怎么修改代码,结果丝毫不会改变。甚至你一怒之下删光所有代码,竟然仍有输出!...其实原因也很简单:在 PyCharm里面,切换了当前编辑的 py 文件后,默认运行的代码文件是不会跟着变的。这时候用快捷键或者点运行按钮执行的都还是一开始设定的那个代码文件。 ?...或者在设置里重新设定下 run context configuration 的快捷键,用这个快捷键来运行,就会是当前的 py 文件了。...不过这样一来,如果你不是写单个文件的代码,而是开发有固定执行入口的项目,就反倒不方便了。所以具体就看你自己的需要了。 ?
最近我就接到一个粉丝咨询,说他想处理一个公共数据集,只有8个原位肿瘤+3个转移肿瘤的10X单细胞转录组样品,但是数据处理的过程发现系统提示说需要5Tb内存,虽然说他自己有一个512G内存的服务器,但是也承受不起...额,给他配置一个5Tb内存服务器倒是简单,我自己就有2.5T内存的服务器,不就是加倍嘛!不过,我注意到他就是11个10X转录组样品,理论上不可能是需要5Tb内存的,所以让他把代码发过来我检查看看....所以我猜测应该是他的10X的3个文件里面并没有过滤,把全部的barcode输出了,我就给他加上了一个简单的检查代码,以及两个标准过滤: lapply(sceList, function(x) print...(sceList, function(x) print(x)) 接下来使用我的32G内存的Mac,都可以走这个CCA流程啦!...太有意思了,为什么我想讲解这个故事呢,因为在很多交流群都看到有粉丝问内存不够,实际上很多情况下,内存不够是因为你代码学的很差。 如果你连512G内存都没有呢? 临时使用的话,可以考虑我们的共享云哦!
用R进行文本分析初探——以《红楼梦》为例 一.写在前面的话~ 刚吃饭的时候同学问我,你为什么要用R做文本分析,你不是应该用R建模么,在我和她解释了一会儿后,她嘱咐我好好写这篇博文,嗯为了娟儿同学...这儿我导入的是《红楼梦》的文本。...4.分词+统计词频 words=unlist(lapply(X=res, FUN=segmentCN)) #unlist将list类型的数据,转化为vector #lapply()返回一个长度与X一致的列表...word=lapply(X=words, FUN=strsplit, " ") v=table(unlist(word)) #table统计数据的频数 结果v的部分截图如下,可以看出此时已经统计好词频了...(X=res, FUN=segmentCN)) #unlist将list类型的数据,转化为vector #lapply()返回一个长度与X一致的列表,每个元素为FUN计算出的结果,且分别对应到X中的每个元素
一.写在前面的话~ 刚吃饭的时候同学问我,你为什么要用R做文本分析,你不是应该用R建模么,在我和她解释了一会儿后,她嘱咐我好好写这篇博文,嗯为了娟儿同学,细细说一会儿文本分析。...这儿我导入的是《红楼梦》的文本。...4.分词+统计词频 words=unlist(lapply(X=res, FUN=segmentCN))#unlist将list类型的数据,转化为vector#lapply()返回一个长度与X一致的列表...word=lapply(X=words, FUN=strsplit, " ") v=table(unlist(word))#table统计数据的频数 结果v的部分截图如下,可以看出此时已经统计好词频了...(X=res, FUN=segmentCN)) #unlist将list类型的数据,转化为vector #lapply()返回一个长度与X一致的列表,每个元素为FUN计算出的结果,且分别对应到X中的每个元素
为什么尺度很重要? 在讨论"尺度意味着什么" 之前,相关的问题是:为什么尺度至关重要?通常进行缩放是为了提高模型对特定任务(例如 ImageNet 分类)的准确性。...这个结果给了我们第二个现象:平衡各个维度(宽度、深度、分辨率)的尺度,有助于提高精度与性能。...那么回答我两个问题:一,为什么 alpha 不用平方?二,为什么限制三个系数的乘积约等于 2 ?” 这个问题问得非常好。在卷积神经网络中,卷积层是计算量最大的部分。...而一个常规的卷积层的计算量,通常与 d, w², r² 近似成正比。也就是说,深度加倍会使得计算量加倍,而宽度或分辨率加倍会使得计算量增加近似四倍。...结语 这可能是 2019 年以来我读过的最好的一篇论文之一。这篇文章不仅为搜索更精确的网络,打开了新世界的大门,而且同时强调了搜索高效的网络。
r的future包提供了一种实现多线程并行计算的接口,但有时候在使用时,我发现r启动了比我设定的多得多的计算资源。...在很久之前我就问过future包的作者,讨论在:https://github.com/HenrikBengtsson/future/issues/343 R语言大神任坤做了一段非常好的解释: 理解起来就是...: 首先问题不是出在future上面,它只是一个管理器之类的东西,启动并行资源最后收集结果。...问题的核心在于R很多包或者底层库在你不知道的情况下启动了并行计算,例如data.table。...也就是你启动的每一个并行计算内容下都会使用全部的CPU核心数运算(4x20 >> 20),自然系统的资源都被占满了。
前言 最近我在复现一篇文章的操作。发现每一次生成的结果都有所不同。 难道是我的操作出了问题?难道是我用的R 包版本不对,函数不同?难道是随机数的问题? 后来发现,果然是随机数的问题。...2-随机数,即用即换 我们如果希望随机函数生成指定结果,永远要在其之前配置相关的种子。...那么如果不在lapply 中特别声明,或者仅仅在全局声明了一次set.seed,那么你就等着无法重复的随机结果吧: > set.seed(32) > lapply(1:3, function(x) runif...) [1] 0.8087471 0.7288197 0.1519876 > set.seed(32) > runif(3) [1] 0.5058405 0.5948084 0.8087471 这也是为什么...此外,我也推荐大家在写涉及到随机数的代码时,使用withr::with_seed,起码告诉并且提醒自己,哪个种子,对应哪个随机函数。防止被吞,或者吞了其他人的种子。
为什么尺度很重要? ---- 在讨论"尺度意味着什么" 之前,相关的问题是:为什么尺度至关重要?通常进行缩放是为了提高模型对特定任务(例如 ImageNet 分类)的准确性。...这个结果给了我们第二个现象:平衡各个维度(宽度、深度、分辨率)的尺度,有助于提高精度与性能。...那么回答我两个问题:一,为什么 alpha 不用平方?二,为什么限制三个系数的乘积约等于 2 ?” 这个问题问得非常好。在卷积神经网络中,卷积层是计算量最大的部分。...而一个常规的卷积层的计算量,通常与 d, w², r² 近似成正比。也就是说,深度加倍会使得计算量加倍,而宽度或分辨率加倍会使得计算量增加近似四倍。...结语 ---- 这可能是 2019 年以来我读过的最好的一篇论文之一。这篇文章不仅为搜索更精确的网络,打开了新世界的大门,而且同时强调了搜索高效的网络。
笔者寄语:apply族功能强大,实用,可以代替很多循环语句,R语言中不要轻易使用循环语句。...lapply的使用格式为: lapply(X, FUN, ...) lapply的返回值是和一个和X有相同的长度的list对象, 这个list对象中的每个元素是将函数FUN应用到X的每一个元素。...其中X为List对象(该list的每个元素都是一个向量), 其他类型的对象会被R通过函数as.list()自动转换为list类型。...X 一个列表 classes 关于类名的字符向量,或者为any时则匹配任何类 deflt 默认结果,如果使用了how=”replace”,则不能使用 how 字符串匹配三种可能结果 参考文献:...————————————————————— 拓展一:lapply的用法 因为一直想不明白,所以最开始的时候都不太会使用这个函数来进行并行处理, 最近想明白,用了一下发现验证了我的想法。
本文节选自张丹的《R的极客理想》系列。 1. apply的家族函数 apply函数族是R语言中数据处理的一组核心函数,通过使用apply函数,我们可以实现对数据的循环、分组、过滤、类型控制等操作。...很多R语言新手,写了很多的for循环代码,也不愿意多花点时间把apply函数的使用方法了解清楚,最后把R代码写的跟C似得,我严重鄙视只会写for的R程序员。...我一般最常用的函数为apply和sapply,下面将分别介绍这8个函数的定义和使用方法。 2. apply函数 apply函数是最常用的代替for循环的函数。...3. lapply函数 lapply函数是一个最基础循环操作函数之一,用来对list、data.frame数据集进行循环,并返回和X长度同样的list结构作为结果集,通过lapply的开头的第一个字母’...> sapply(data.frame(x), sum) x1 x2 12 12 # 检查结果类型,sapply返回类型为向量,而lapply的返回类型为list > class(lapply(
在教师节收到学生提问,刷我B站74小时视频的时候看到我演示了RNA-seq差异分析只用了一行代码就完成了3大R包的全部分析,并且输出了对应的图表结果,觉得很神奇,但是B站视频并没有配套讲义和代码还有测试数据...,为什么这么神奇呢?...,结果该如何取舍呢?...这个时候是没有标准答案的,因为每个R包都非常热门,引用量都是好几千,你选择哪个都符合市场规律,不过,我这里有一个代码,对3个结果根据阈值筛选交集。...当然是啊,都会写代码了,还有什么是不能为所欲为的呢? 同样的,代码也是在GitHub,需要你仔细理解,不过我有一个小小的要求,请不要把我的代码雪藏,或者刻意隐瞒。
,第一列是答案,第二列是曾老板代码的计算结果,第三列是R包的计算结果,很明显是第三列和答案一样啊,第二列不一样。。。...好了,现在我得出了一个不成熟的结论:曾老板的代码有bug。 正当我打算发个邮件告诉他的时候,转念一想,不对啊。曾老板的代码什么时候有bug?我是不是冤枉他了。...属于R语言高级玩家的快乐 必须要研究一下曾老板高难度的R语言代码,看看是个什么原理,为什么碰上这种问题数据会算出错误结果。...找两个基因出来,一个是计算正确的,一个是计算错误(有重复行的)的,解析一下循环里的代码就可以了。 出了新手村的R语言玩家可以先学习一下apply和lapply这两个函数,查帮助文档即可。...lapply循环里的代码: tmp=apply(a[[1]],1,function(y){ y[1]:y[2] }) lapply(tmp[1:3], head) ## $`2964638`
只能说我“输”了,但你肯定是怕了......批 量处理法:用lapply批量处理变量 在此时lapply的妙用就显现出来了,在R中lapply用来对list中每一个element进行相同处理,如何把它运用到data.table,话不多说先上代码:...DT[, colnames(DT[, 3:34]) := lapply(.SD[, 3:34], as.Date)] 结果如下: ?...DT[, colnames(.SD[, 3:34]) := lapply(.SD[, 3:34], as.Date)] 我们将 := 左边的DT改成了.SD,下面来看看运行结果: ?...大猫的R语言课堂 我是大猫,一个高中读文科但却在代码、数学的路上狂奔不止的Finance Ph. D Candidate。 我是村长,一个玩了9年指弹吉他,却被代码深深吸引的博士候选人。
在我之前转载的文章《apply,lapply,sapply用法探索》中已经对R中apply家族函数进行了比较详细地说明,这篇文章基于我在data campus中对lapply、sapply、vapply...,但我们所需要的结果其实可以以比较紧凑的数组(矩阵)展示出来。...记得,如果你使用迭代计算的结果不是一个向量,就不要使用sapply进行简化计算。...```R > args(vapply) function (X, FUN, FUN.VALUE, ..., USE.NAMES = TRUE) NULL 我们知道每次迭代计算应该返回4个数值型结果,所以当我们设置为...这个函数及其选项的设定在我们编写比较大型的迭代计算和整合函数代码时非常有用,可以帮助我们快速检验结果的有效性,尽量避免调试bug带来的苦恼。
1写在前面 今天可算把key搞好了,不得不说里手握生杀大权的人,都在自己的能力范围内尽可能的难为你。 我等小大夫也是很无奈,毕竟奔波霸、霸波奔是要去抓唐僧的。...2用到的包 rm(list = ls()) library(tidyverse) library(tm) library(wordcloud) 3示例数据 这里我准备好了2个文件用于绘图,首先是第一个文件...可能会有小伙伴问sapply和lapply有什么区别呢!? ok, sapply()函数与lapply()函数类似,但返回的是一个简化的对象,例如向量或矩阵。...如果应用函数的结果具有相同的长度和类型,则sapply()函数将返回一个向量。 如果结果具有不同的长度或类型,则sapply()函数将返回一个矩阵。...document_tm_clean_mat_s, max.words=2000, random.order=F, use.r.layout
上述结果可以看出,我们重新生成了很多被处理过的变量,都带有后缀_xtrct,下面让村长对这一行代码进行详细解析。...在这里通过链接中的推送的lapply使用原理,再加上stringr包中str_match这个函数的使用,截取出诊断结果中出现过的继发性醛固酮或者醛固酮,没有出现过的自动记为NA。...大猫的R语言课堂 我是大猫,一个高中读文科但却在代码、数学的路上狂奔不止的Finance Ph. D Candidate。 我是村长,一个玩了9年指弹吉他,却被代码深深吸引的博士候选人。...大猫的微信号是: iRoss2007 村长的B站主页是:http://space.bilibili.com/40771572 大猫的R语言课堂关注R语言、数据挖掘以及经济金融学。...我们与大家分享我们的知识和节操,我相信独乐乐不如众乐乐。
对于非结构化的网站中文评论信息,r的中文词频包可能是用来挖掘其潜在信息的好工具,要分析文本内容,最常见的分析方法是提取文本中的词语,并统计频率。...比如对于如下的网站评论信息:通过一系列的文本处理和高频词汇的提取,最后结合聚类,我们可以得到如下的可视化结果。...第一类客户:第二类第三类这是根据某网站成交评论制作的可视化词云,词频的统计,分词和词云的制作都是用R,最后做了聚类,将不同的用户聚成了3个类别。这个图能很直观看到,每个类别的客户的特点。...=" "]; #剔除通用标题 res=gsub(pattern="[專賣店【未拆封順豐】||]+"," ",res); #剔除特殊词 res=gsub(pattern="[我|你|的|了|是]...----最受欢迎的见解1.Python主题建模LDA模型、t-SNE 降维聚类、词云可视化文本挖掘新闻组2.R语言文本挖掘、情感分析和可视化哈利波特小说文本数据3.r语言文本挖掘tf-idf主题建模,情感分析
写在前面: 在前面两篇文章R语言入门系列之一与R语言入门系列之二中,我分别介绍了R语言中的对象与结构、数据的输入输出及可视化。...基于前面的基础,今天我介绍一下R语言中基础的程序结构,来帮助我们完成更复杂的数据处理任务。此外,如果你有大批量数据处理、可视化任务,需要着重学习R脚本在命令行的调用方式以及命令行参数的使用方法。...: 其结果以数据框的形式储存。...lapply()通过对x的每一个元素运用函数,生成一个与元素个数相同的值列表: lapply(X, FUN, ...)...在Linux系统命令行运行结果如下所示: 可以发现,前五个为R内置参数,用户输入参数从第6个开始,R脚本中的命令行参数的使用示例如下所示: 如果想忽略R内置参数,则可以如下设置: Args <- commandArgs
写在开头 最近在复习数据挖掘课程内容,hhh确实是兜兜转转从去年学到了今年 去年的课程笔记整理:#R语言数据挖掘 今年重新学习一遍,所以准备补充一些知识点,以及找几个GEO芯片数据实战分析一下。...(sceList, dim)) 正好复习R语言基础的时候,学到了apply()和lapply()两个函数,那一起来了解一下隐式循环吧!...FUN:函数,即对x的每一行/列执行FUN这个函数 simplify:表明是否应简化结果的逻辑,一般默认为 = TRUE 使用的小栗子: #循环处理数据 test<- iris[1:6,1:4] apply...[,1:4], 2, plot) lapply()函数 lapply返回与X长度相同的列表,其中的每个元素都是将FUN应用于X的相应元素的结果。...,那就需要用到function()函数——写函数的函数,因为本人的R语言基础暂时还不足以解释这个函数,所以就附上小洁老师在数据挖掘的PPT 参数 function函数
R语言︱数据集分组 大型数据集通常是高度结构化的,结构使得我们可以按不同的方式分组,有时候我们需要关注单个组的数据片断,有时需要聚合不同组内的信息,并相互比较。...介绍一种按照日期范围——例如按照周、月、季度或者年——对其进行分组的超简便处理方式:R语言的cut()函数。...,它的输入参数和计算结果都是数据框,用法相对简单。...如果按照正常的思维习惯写代码,结果将是错误的。 4.不仅代码的写法违反正常的思维习惯,计算后的结果也很怪异:SELLERID字段会排在CLIENT之前。...最让我在意的是分组汇总这块内容: mygroup= group_by(data,gender,ID) from_dplyr<-summarize(mygroup,mean=mean(mortgage))
领取专属 10元无门槛券
手把手带您无忧上云