wbxxxryy 2021-10-28 09:35 采纳率: 0%
浏览 45

救救孩子吧,R studio报错

各位同道请赐教
**f <- cph(fml, x=T, y=T, surv=T, data=bc)
报错:
**Error in unique.matrix(y[y != "" & y != " "]) :
MARGIN = 1 is invalid for dim =

  • 写回答

3条回答 默认 最新

  • qq_30174129 2022-01-20 05:32
    关注

    我猜你之前的数据是这个
    “fml <- as.formula(paste0('BaSurv~',paste0(GetFactors_mul,collapse = '+'))) ## 构建多因素Cox数据
    f <- cph(fml, x=T, y=T, surv=T, data=rt)”
    由于“fml ”可得出“BaSurv ~ T_category + M_category + HPV_status + signature”
    你如果要运行这串代码,你需要先用“str(rt)”去查看在数据集“rt”中你要带入列线图的几个变量 “ T_category + M_category + HPV_status + signature”是否都是因子型(factor),如果不是,用“rt$signature <- as.factor(rt$signature)”将其转换成因子型,再运行这串代码就能成功

    你要是用解螺旋的课程的话,我运行了他的代码,发现“rt$signature”虽然分了'Low-Score','High-Score'但是你查看他的数据类型是“字符串(chr)”用“str(rt)”去查看在数据集“rt”你会发现出现
    【signature : chr [1:181, 1] "Low-Score" "Low-Score" "Low-Score" "Low-Score"】
    ,但是正确应该是【signature : Factor w/ 2 levels "High-Score","Low-Score": 2 2 2 2 1 2 】,
    这就需要我之前说的用“rt$signature <- as.factor(rt$signature)”将其转换成因子型,这样我们再用“str(rt)”去查看在数据集“rt”就得到了
    【signature : Factor w/ 2 levels "High-Score","Low-Score": 2 2 2 2 1 2 】

    总结一下,
    就是解螺旋的课程中他带入到函数“cph”中“fml ”存在的变量中有不是“因子型(factor)”的,需要我们转化一下,
    他也没有强调这一点,所以咱们试着还原代码的时候出问题了
    解螺旋的那个课有好些代码运行错误都是函数对变量类型有要求
    比如单因素和多因素分析当中要求必须全是是数值型(num)变量;还有这个函数“cph”中的“fml ”存在的变量中必须全是是“因子型(factor)”

    2022/1/20 5:22 终于想到解决方案,给个赞吧!!!!!!

    评论

报告相同问题?

问题事件

  • 创建了问题 10月28日

悬赏问题

  • ¥15 想问一下stata17中这段代码哪里有问题呀
  • ¥15 flink cdc无法实时同步mysql数据
  • ¥100 有人会搭建GPT-J-6B框架吗?有偿
  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决