• 字节系列「夏日游乐场 周周赚88元」进度与骰子次数R语言回归分析


    数据来源

    基于第二轮活动数据记录

    记录格式如下,序号可代表整个进度使用骰子数量,次数代表各关卡使用骰子数量

    1. library(readxl) # install.packages("readxl", repos = "https://mirrors.ustc.edu.cn/CRAN/")
    2. df=read_xlsx('./data//回归分析.xlsx')

     

    实际数据分析

    • 描述性分析

     

    从记录中可以看出,关卡1~4均完成至100%,分别使用骰子数量为,13、14、57、204

    在关卡5中使用骰子数量253,完成进度为26.83%。

    ggplot2绘图

    1. library(ggplot2)
    2. df$关卡<-factor(df$关卡)
    3. ggplot(data=df,aes(x = 序号, y = 进度))+
    4. geom_point()+xlim(0,600)+aes(colour=关卡)+xlab("累计次数")+ylab("进度(%)")+
    5. coord_fixed(ratio = 3)+
    6. ggtitle(label='骰子使用次数与各关卡进度的关系',subtitle = NULL)+
    7. theme(plot.title = element_text(#color = 'red',
    8. size=15,
    9. hjust=0.5),
    10. plot.caption = element_text(color='blue'))

    从各自斜率可以看出各关卡的难易程度(目前已使用骰子的大致数量541

    进行回归分析

    由于关卡1~4都已经完成,因此重点分析关卡5完成的可行性以及需要多少骰子数量才能完成进度至100%

    回归分析

     

    从模型中可以看出在第五关卡中,使用骰子数量与进度的关系为:

    y=0.1060725*x-0.2021598

    当进度y=100时,可以计算得到使用骰子数量:x=944.657284404535

    1. par(pin = c(6,4))
    2. plot(df5$次数,df5$进度,
    3. xlab="骰子次数(实际次数或预估次数)",
    4. ylab="进度(%)",
    5. xlim=c(0,1000),ylim=c(0,100),
    6. main="关卡5需要的骰子数量",
    7. col=c('red')
    8. )
    9. abline(fit5)
    10. abline(h=100)
    11. abline(v=945)
    12. text(x = 700,y = 63,labels = 'y=0.1060725*x-0.2021598')
    13. text(x = 955,y = 50,labels = 'x=945')

     

    关卡5与累计骰子使用次数的关系分析即(1~5需要骰子数量)

    1. fit<-lm(data=df5,进度~序号)
    2. summary(fit)

     

     

    从分析结果我们可以得到关卡5进度与累计投资使用数量的关系为

    y=1.061e-01*x--3.075e+01

    当y=100时,计算得使用累计使用骰子为:x=1232.32799245994

    1. par(pin = c(6,4))
    2. plot(df$序号,df$进度,
    3. xlab="累计次数(实际或预估次数)", #x轴名称
    4. ylab="进度(%)", #y轴名称
    5. xlim=c(0,1500),ylim=c(0,100),
    6. main="累计骰子使用次数与进度的关系",
    7. col=df$关卡
    8. )
    9. abline(h=100)
    10. abline(fit)
    11. abline(v=1232)
    12. text(x = 900,y = 63,labels = 'y=1.061e-01*x--3.075e+01')
    13. text(x = 1232,y = 50,labels = 'x=1232')
    14. legend(1300,95,inset = 0.04,c(paste0("关卡", 1:5)),pch = c(1),
    15. col = c("black","red","chartreuse","blue","aquamarine4"),box.col = "red", title="关卡",
    16. box.lwd = 2,text.font = 1)

    可视化分析结果

     

    结论

    关卡5大约需要使用骰子数量为945,完成1~5关卡则需要使用骰子数量为1232

  • 相关阅读:
    【8.8】代码源 - 【不降子数组游戏】【最长上升子序列计数(Bonus)】【子串(数据加强版)】
    Ansible-部署haproxy高可用
    技术分享 | 接口自动化测试如何处理 Header cookie
    Android P 禁用非官方API
    Vue04/ 计算属性computed 介绍和完整写法 get( ) set( )
    m基于3GPP-LTE通信网络的认知家庭网络Cognitive-femtocell性能matlab仿真
    真题集P127---2018年真题
    c++常用函数所在头文件一览
    Vue官方文档(43):在全局注册组件中使用函数式的组件
    Spring的读取和存储对象
  • 原文地址:https://blog.csdn.net/FG24151110876/article/details/126374583