美文网首页
R语言机器学习与临床预测模型61--序列数据分析

R语言机器学习与临床预测模型61--序列数据分析

作者: 科研私家菜 | 来源:发表于2022-07-06 18:12 被阅读0次

    R小盐准备介绍R语言机器学习与预测模型的学习笔记, 快来收藏关注【科研私家菜】


    01 序列数据分析

    “有些已知的已知,也就是我们知道我们知道。有些已知的未知,也就是我们知道有些事我们不知道。但是,也有一些未知的未知,就是那些我们不知道我们不知道事。”
    ——唐纳德·拉姆斯菲尔德,美前国防部长

     转换率
     每种状态的持续时间
     序列频率

    library(TraMineR)
    library(dplyr)
    df <- read.csv("data-master/sequential.csv")
    
    table(df$Cust_Segment)
    table(df$Purchase1)
    table(unlist(df[, -1]))
    dfCount <- count(df, Purchase1, Purchase2)
    dfCount <- arrange(dfCount, desc(n))
    dim(dfCount)
    head(dfCount)
    
    seq <- seqdef(df[, -1], xtstep = 1)
    head(seq)
    

    效果如下:


    02 序列数据分析R语言实现

    TraMineR包

    TraMineR也可以创建马尔科夫链转移矩阵来支持序列数据分析。
    要使用TraMineR包,应该先转换数据,使用
    seqdef()函数将数据保存到一个序列类的对象中。这个对象只包含序列数据,没有任何协变量。可以使用参数xtstep = n指定绘图函数中刻度线的距离。

    
    seqiplot(seq, withlegend = "right")
    
    # seqIplot(seq)
    seqiplot(seq)
    seqdplot(seq)
    seqdplot(seq, group = df$Cust_Segment)
    seqmsplot(seq, group = df$Cust_Segment)
    seqmtplot(seq, group = df$Cust_Segment)
    
    seqE <- seqecreate(seq)
    subSeq <- seqefsub(seqE, pMinSupport = 0.05)
    plot(subSeq[1:10], col = "dodgerblue")
    
    
    # seqtab(seq, tlim = 1:5)
    # seqmeant(seq)
    seqMat <- seqtrate(seq) 
    options(digits = 2)
    seqMat[2:4, 1:3]
    seqMat[, 1]
    
    

    效果如下:




    关注R小盐,关注科研私家菜(VX_GZH: SciPrivate),有问题请联系R小盐。让我们一起来学习 R语言机器学习与临床预测模型

    相关文章

      网友评论

          本文标题:R语言机器学习与临床预测模型61--序列数据分析

          本文链接:https://www.haomeiwen.com/subject/wnwxmrtx.html