【问题标题】:correlations between questionnaires/ variables问卷/变量之间的相关性
【发布时间】:2016-09-14 09:41:02
【问题描述】:

我正在处理不同的问卷。例如,我有一组参与者只需要填写 3 个问卷,其他人必须填写 4 个,其他 6 个,其他 7 个。我想随着时间的推移评估他们的生活质量,但是有些参与者填写了他们所有的问卷同一天(我意识到这在我的分析中引入了很大的偏差)。现在我想检查在同一天填写的问卷是否也以相同的方式填写每个问卷。这是一个例子:

id QA1 QA2 QA3 QA4 QA5 QA6 QB1 QB2 QB3 QB4 QB5 QB6
1   1   3    2   2  3   3   1   3    2   2  3   3
2   2   NA    2   2  2  1   1   3    2   1  2   3 
3   3   2    3   1  1   1   2   1    1   NA 3  NA 
4   2   1    NA  3  2   NA  1   3    3   1  2   1 
5   1   1    3   2  1   3   1   1    3   2  1   3

在示例中,id 1 和 5 以相同的方式填写了两个问卷。如何检查我的完整数据框?

问候

【问题讨论】:

  • 同样的意思是什么意思? id 的 1 和 5 对 QA2、QA3、QA5、QB2、QB3、QB4 和 QB5 有不同的值...仅仅是因为它们都不包含 NA 吗?此外,您的示例不可重现。请使用dput()
  • 我的意思是它们包含相同的值。 QA 是一份问卷,QB 是另一份问卷,它们在不同的日子给出,但包含或多或少相同的问题。对于 id1,即 QA1=1 和 QB1=1,QA2=3 和 QB2=3.etc 用于完整问卷
  • 你能输入你的数据吗?
  • 是的,但是当我 dput() 后如何复制它?
  • " 在示例中,我有一组参与者只需要填写 3 个问卷,其他人必须填写 4 个,其他 6 个,其他 7" ...示例中显示的位置?

标签: r correlation


【解决方案1】:

我认为这会解决您的问题。它检查每一行并比较响应值:

QAs <- grep('QA', colnames(df)) #which cols contain QA survey questions
QBs <- grep('QB', colnames(df)) #which cols contain QB survey questions
#check if all non-NA values are the same and all NAs are in same location. 
check <- function(x){
    return( all(all(x[QAs] == x[QBs], na.rm=T), all(is.na(x[QAs]) == is.na(x[QBs])) ) ) 
}
apply(df, 1, check)

[1]  TRUE FALSE FALSE FALSE  TRUE

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-06-12
    • 2018-04-15
    • 1970-01-01
    • 2019-02-27
    • 2019-02-14
    • 1970-01-01
    • 2021-01-19
    • 2019-05-20
    相关资源
    最近更新 更多