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

「R」数据可视化12 : 生存曲线

通常,在这类分析中,我们会关注特定事件(如死亡或疾病复发)的事件,并比较两组或更多组患者发生这些特定事件的事件。 ?...因此,如果参与者是在研究开始后加入的,他们的最长随访时间应该少于24年。...期间死亡的人数 期间删失的人数 0-4 20 2 1 5-9 17 1 2 10-14 14 1 4 15-19 9 1 3 20-24 5 1 4 然后,我们来定义几个参数: Nt=在时间间隔t内没有发生目标事件的但处于风险中的人数...怎么做生存曲线图 今天我们要用到以下几个R包:survival,survminer和dplyr 使用KM方法,通过ggsurvplot作图,该函数作图需要两部分数据,具体见下: 1)需要什么格式的数据...然后我们根据年龄分为两组,以50岁为分界线: #用到了dplyr的函数功能 ovarian % mutate(age_group = ifelse(age >=50, "old

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

    非线性回归nls探索分析河流阶段性流量数据和评级曲线、流量预测可视化

    如果主要输出是流量持续时间曲线,则主要关注的是候选量具有相似的径流因变量并且在未治理流域的合理距离内。但是,如果主要输出包括每日流量估计,则具有具有相同流量超出概率时间的候选量具更为重要。...如果预测变量和因变量之间的关系预期为非线性多项式,则可以包括项。然而,称为广义加性模型的线性回归的扩展允许将这些非线性项相对容易地拟合到数据中。...低流量下观测值和预测值之间的巨大差异可归因于具有极快的水流高度变化(\> 1.5 英尺/小时)的事件,参数估计难以拟合(图 5 )。其余评级曲线的拟合优度指标有所下降,但仍表明性能良好(表 4)。...每日流量估算 # 使用原始数据集 # 按日期使用评级曲线估计流量 # 聚合表示每日流量,报告汇总统计数据。...报告摘要统计 meflow %>% as_tibble() %>% dplyr::select %>% tbl_summary %>% as_kable() 表 5:每个站点平均日流量估计的汇总统计数据

    1.4K10

    详述 Java 并发编程中 CAS 以及 AQS 的实现原理

    通过查看getAndSet()方法,可知如果资源竞争十分激烈的话,这个for循环可能换持续很久都不能成功跳出。在这种情况下,我们可能需要考虑如何降低对资源的竞争。...ABA 问题 因为 CAS 需要在操作值的时候检查下值有没有发生变化,如果没有发生变化则更新,但是如果一个值原来是A,变成了B,又变成了A,那么使用 CAS 进行检查时会发现它的值没有发生变化,但是实际上却变化了...下面以CountDownLatch举例说明基于 AQS 实现同步器,CountDownLatch用同步状态持有当前计数,countDown方法调用 release从而导致计数器递减;当计数器为 0 时,...解除所有线程的等待;await调用acquire,如果计数器为 0,acquire会立即返回,否则阻塞。...failed = false; return interrupted; } // 如果获取失败的话

    34010

    究竟什么是可重入锁?

    只要记住ReentrantLock和sychronized是可重入锁就行了,爱咋用咋用,好吧,原谅我的无知,最近对基础查漏补缺,发现竟然对其一问三不知,赶紧预习一波,觉得有必要写一篇博客来讲解,就当做什么都没有发生吧...Thread.currentThread(); owner.compareAndSet(current, null); } } 代码也比较简单,使用原子引用来存放线程,同一线程两次调用lock()方法,如果不执行...unlock()释放锁的话,第二次调用自旋的时候就会产生死锁,这个锁就不是可重入的,而实际上同一个线程不必每次都去释放锁再来获取锁,这样的调度切换是很耗资源的。...owner.compareAndSet(current, null); } } } } 在执行每次操作之前,判断当前锁持有者是否是当前对象,采用state计数...return true; } return false; } 在AQS中维护了一个private volatile int state来计数重入次数

    72620

    详述 Java 并发编程中 CAS 以及 AQS 的实现原理

    通过查看getAndSet()方法,可知如果资源竞争十分激烈的话,这个for循环可能换持续很久都不能成功跳出。在这种情况下,我们可能需要考虑如何降低对资源的竞争。...ABA 问题 因为 CAS 需要在操作值的时候检查下值有没有发生变化,如果没有发生变化则更新,但是如果一个值原来是A,变成了B,又变成了A,那么使用 CAS 进行检查时会发现它的值没有发生变化,但是实际上却变化了...下面以CountDownLatch举例说明基于 AQS 实现同步器,CountDownLatch用同步状态持有当前计数,countDown方法调用 release从而导致计数器递减;当计数器为 0 时,...解除所有线程的等待;await调用acquire,如果计数器为 0,acquire会立即返回,否则阻塞。...failed = false; return interrupted; } // 如果获取失败的话

    84120

    C#学习笔记 线程同步

    这样的话,在多线程的环境下就有可能会出现同步问题。鉴于此,FCL提供了Volatile类,用来控制变量的读写和编译器的优化,这样的访问称为易变访问。...原因如下:编译器发现在Work方法中,continue的值并没有发生改变,所以会将代码优化为在while循环之前求值,然后每次循环直接使用这个值。所以,优化后的代码while循环会直接变成死循环。...Event构造 事件就是由内核维护的布尔型变量。为假的时候,在事件上等待的线程就会阻塞;为真的时候就会解除阻塞。事件分为两种,自动重置事件和手动重置事件。...信号量含有一个最大资源数目,如果释放操作导致信号量超过最大计数,会抛出SemaphoreFullException。...信号量的主要方法如下: WaitOne方法,在信号量上等待,如果信号量大于0,将减少一个信号量;如果信号量为0将阻塞当前线程。另外还有一个指定超时值的重载版本。

    55820

    微服务容错与隔离:限流保护,计数器+漏桶+令牌桶算法限流实现

    计数器 比较简单的限流做法是维护一个单位时间内的计数器,每次允许请求计数器都加1,当单位时间内计数器累加到设定的阈值后,之后的请求都被拒绝,直到超过单位时间,再将计数器重置为零。...此方式有一个弊端:如果在单位时间1s内允许100个请求,10ms已经通过了100个请求,那后面的990ms只能拒绝请求,我们把这种现象称为“突刺现象”。...因为漏桶的漏出速度是固定的,所以,即使网络中不存在资源冲突(没有发生拥塞),漏桶算法也不能增大流量。因此,漏桶算法对于存在突发特性的流量来说缺乏效率。...随着时间的流逝,系统会按恒定的1/QPS时间间隔(如果QPS=100,则间隔是10ms)往桶里加入令牌(就像有个水龙头在不断地加水),如果桶已经满了就不再加了。...本文就是愿天堂没有BUG给大家分享的内容,大家有收获的话可以分享下,想学习更多的话可以到微信公众号里找我,我等你哦。

    27310

    单细胞数据分析-R语言对分群结果的top基因循环做富集分析

    phytozome上下载的,然后用的OrgDb的加载文件是在ncbi上下的,所以两个数据库的id号不同,我需要先在biodbnet进行全部的转换,读到一个新的表格里面,然后在进行转换,我这里主要是用的最近新学的dplyr...top50的高表达的基因,ann为自己手动整理的注释及基因转换id的文件,将TopMarkers的geneid为标准,进行取交集,获得TopMarkers里面基因的注释结果和geneid号 library(dplyr...compKEGG, showCategory = 15,label_format=100, title = "KEGG Pathway Enrichment Analysis") 通过目前的尝试,以上的代码没有发生报错的现象...循环读入每个亚群的结果 ##首先写一个xsl的文件,将cluster读进去,这里如果亚群数目少,可以选择第2种方法,这里可以参照以前教程里面的excle的表格的模板 library(readxl) cluster...") write.csv(compKEGG, paste0("F:/cluster_", i, "_kegg.csv"), quote = FALSE, row.names = FALSE) } 如果自己需要其他的图片可以参照

    2.5K20

    比较微生物组中的差异分析方法

    但微生物组学的数据结构导致了这必然是一项相当艰巨的任务,因为他们: •高维特征集(通常超过 100 到 10,000 个特征);•高度稀疏(许多特征仅在少数样本中被发现);•特征间复杂的相关性结构;•计数的组成性...(即,观察到的计数受文库大小的限制);•不同的文库大小;•过度离散的计数值,等等。...其实这个问题并没有答案,(如果有时间的话)我一般都是尝试一些对手头数据来说看似合理的模型,然后优先考虑 overlap 的差异特征集。...DESeq2 DESeq2 将对原始计数进行建模,使用标准化因子(scale factor)来解释库深度的差异。然后估计每条 OTU 的离散度,并缩小这些估计值以生成更准确的离散度估计。...::arrange(padj) fdr_deseq % dplyr::filter(padj

    6.8K30

    懒癌必备-dplyr和data.table让你的数据分析事半功倍

    dplyr很庆幸,都提供了关于常用方法的一些函数。...vnew1+v3) 与基础包里的transform()函数接近,但mutate可以使用你刚刚创建的column, transform则不行,会报错:”找不到对象vnew” summarise( ) 计算统计数据...data.table包 dplyr已经可以满足我们数据分析工作中大部分的需求,后来该包的作者又开发了一个炫酷吊炸天的包“data.table” 如果你的日常处理数据在几万到十几万行,那么用dplyr...如果你的日常处理数据量非常大,有上亿行的数据处理需求,这个时候你完全可以放心大胆的使用data.table 这个包异常的高效,速度非常的快!!...如果你想深入,可以去官网下载文档,你绝对值得拥有!

    2.5K70

    R语言学习笔记之——数据处理神器data.table

    ::select+filter 聚合运算:aggregate——plyr::ddply+mutate——dplyr::group_by+summarize 数据联结:merge——plyr::join—...mydata[carrier %in% c("AA","AS"),.N] [1] 26876 .N是一个计数函数,相当于plyr中的count,或者基础函数中的length。...多分组计数。 mydata[,.N,by = .(carrier,origin)] ? 自定义名称: mydata[,....当然你要是特别不习惯这种用法,还是习惯使用merge的话,data.table仍然是支持的,因为他本来就继承了数据框,支持所有针对数据框的函数调用。...本篇仅对data.table的基础常用函数做一个整理,如果想要学习期更为灵活高阶的用法,还请异步官方文档。 左手用R右手Python系列——数据塑型与长宽转换

    3.6K80

    Go语言Goroutine与Channel内存模型

    为了规定读取和写入,我们定义了happens before,这是Go语言中内存操作执行的偏序(partial order),如果事件e1发生在事件e2之前,那么我们说事件e2发生在事件e1之后,也可以这么说...,如果e1没有发生在e2之前,同时也不会发生在e2之后,那么我们说e1和e1是同时并发发生的。...如果下面两个条件都满足,对于变量v的一个读操作r被允许观察到(之前)对v的写操作w。...r 没有发生在w之前(not happen before,r发生在w之后或同时发生) 并没有其他对v的写操作 w'发生在w之后与r之前(也就是说:在r和w之间再也没有除这两个操作以外的其他任何写操作)...这个规则对于缓冲channel涵括之前的规则,这样能够允许一个计数semaphore 能被缓冲channel建模,channel中条目的数量对应于channel活动用户的数量,channel的容量对应于并发用户的最大数量

    739100

    生存分析①R语言

    生存分析适合于处理时间-事件数据,生存时间(survival time)是指从某起点事件开始到被观测对象出现终点事件所经历的时间,如从疾病的“确诊”到“死亡”。...生存时间有两种类型:完全数据(complete data)指被观测对象从观察起点到出现终点事件所经历的时间;截尾数据(consored data)或删失数据,指在出现终点事件前,被观测对象的观测过程终止了...如果时数值型,则有两个选项,0表示删失,1表示终点事件,或者1表示删失,2表示终点事件。如果时逻辑型的,则FALSE表示删失,True表示终点事件。...- read.csv("blca_immu.csv",header = T,row.names = 1) library(survival) library(survminer) library(dplyr...) require("survival") imm_info % dplyr::select(Lymphocyte_Infiltration_Signature.Score

    1.9K41

    手把手教你用 R 语言分析歌词

    由于第一部分专注于文本挖掘,我没有在这里提供代码,但是如果你愿意的话,数据集是可以在这里下载。 导入类库 ?...利用源 Prince 歌词得到一个真实的词频计数。再一次利用 group_by() 和 summarise() 函数计数。随后使用 dplyr 和 arrange() 排序。...然后根据计数结果,利用 reorder() 函数对词汇再度排名,使用 dplyr 的 mutate() 函数生成有序的 word 变量。这方便使用 ggplot() 进行更友好的展示。 ? ?...想获得更多乐趣的话,你可以加入一点数据美感。 ? 流行词汇 截至目前我们已经观察所有歌曲中的流行词汇。如果你根据打榜名次分组后会发生什么?在上榜歌曲和未上榜歌曲中是否存在更流行的词汇?...它的作用和 top_n() 是不同的,并且如果你在图形中使用刻面的话,这是更加方便的选择。

    1.8K30
    领券