【问题标题】:EQ5D syntax in R, conditional statementsR中的EQ5D语法,条件语句
【发布时间】:2016-10-13 20:54:37
【问题描述】:

我正在尝试在 r 中为 eq5d 问卷编写脚本。我在网上找到了 spss 的脚本,但我更愿意在 r 中运行它,因为我在 r 中执行其他所有操作。所以 SPSS 中的脚本是:

   COMPUTE EQ5D_D0=1.
   IF (MAX(EQ5d1, EQ5d2, EQ5d3, EQ5d4, EQ5d5) > 1) EQ5D_D0 = EQ5D_D0 -.071.
   IF (EQ5d1=2) EQ5D_D0 = EQ5D_D0 - 0.036.
   IF (EQ5d1= 3) EQ5D_D0 = EQ5D_D0 - 0.161.
   IF (EQ5d2 = 2) EQ5D_D0 =EQ5D_D0 - 0.082.
   IF (EQ5d2 = 3) EQ5D_D0 =EQ5D_D0 - 0.152.
   IF (EQ5d3 = 2) EQ5D_D0 =EQ5D_D0 - 0.032.
   IF (EQ5d3 = 3) EQ5D_D0 =EQ5D_D0 - 0.057.
   IF (EQ5d4 = 2) EQ5D_D0 =EQ5D_D0 - 0.086.
   IF (EQ5d4 = 3) EQ5D_D0 =EQ5D_D0 - 0.329.
   IF (EQ5d5 = 2) EQ5D_D0 =EQ5D_D0 - 0.124.
   IF (EQ5d5 = 3) EQ5D_D0 = EQ5D_D0 - 0.325.
   IF (MAX(EQ5d1, EQ5d2, EQ5d3, EQ5d4, EQ5d5) > 2) EQ5D_D0 = EQ5D_D0 - .234.

如何将其翻译成 r 代码? 我尝试了很多不同的方法,但它不起作用,我不断收到错误消息。 基本上我想要的是:对于没有用 1 回答所有问题(问题 1 到 5)的任何个人,立即减去 0.071,然后如果问题 1 用 2 减去 0.036 回答,如果问题 1 用 3 减去 0.161 回答等。最后,我将为每个人获得一个生活质量指数,我可以进一步使用它。

感谢您的帮助。 扎卡里

【问题讨论】:

  • 这看起来很简单 - 您在 R 中尝试过哪些不起作用的方法?请发布您的 R 代码和您收到的错误消息。

标签: r syntax conditional spss


【解决方案1】:

也许以这种方式使用“ifelse”句子? (通过您的数据框名称更改“数据”)。

data$EQ5D_D0<-1
data$EQ5D_D0<-ifelse(max(data$EQ5d1,data$EQ5d2,data$EQ5d3,data$EQ5d4,data$EQ5d5)>1,data$EQ5D_D0-0.071,data$EQ5D_D0)
data$EQ5D_D0<-ifelse(data$EQ5d1==2,data$EQ5D_D0-0.036,data$EQ5D_D0)
data$EQ5D_D0<-ifelse(data$EQ5d1==3,data$EQ5D_D0-0.161,data$EQ5D_D0)
data$EQ5D_D0<-ifelse(data$EQ5d2==2,data$EQ5D_D0-0.082,data$EQ5D_D0)
data$EQ5D_D0<-ifelse(data$EQ5d2==3,data$EQ5D_D0-0.152,data$EQ5D_D0)
data$EQ5D_D0<-ifelse(data$EQ5d3==2,data$EQ5D_D0-0.032,data$EQ5D_D0)
data$EQ5D_D0<-ifelse(data$EQ5d3==3,data$EQ5D_D0-0.057,data$EQ5D_D0)
data$EQ5D_D0<-ifelse(data$EQ5d4==2,data$EQ5D_D0-0.086,data$EQ5D_D0)
data$EQ5D_D0<-ifelse(data$EQ5d4==3,data$EQ5D_D0-0.329,data$EQ5D_D0)
data$EQ5D_D0<-ifelse(data$EQ5d5==2,data$EQ5D_D0-0.124,data$EQ5D_D0)
data$EQ5D_D0<-ifelse(data$EQ5d5==3,data$EQ5D_D0-0.325,data$EQ5D_D0)
data$EQ5D_D0<-ifelse(max(data$EQ5d1,data$EQ5d2,data$EQ5d3,data$EQ5d4,data$EQ5d5)>2,data$EQ5D_D0-0.234,data$EQ5D_D0)

希望对你有帮助,
卢尔德·埃尔南德斯

【讨论】:

    猜你喜欢
    • 2014-02-05
    • 1970-01-01
    • 1970-01-01
    • 2015-09-12
    • 2012-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多