首页 文章

从现有的z分数列创建一个新列,w / some替换为0或N / A.

提问于
浏览
0

我是使用R编程和数据分析的新手(我是心理学的第二年研究生,试图精通R) .

无论如何,这是我的基本问题:

我有长格式的数据 . 我正在查看我的data.frame中的不同RT分数 . 我已导入到R.目前,我已将原始数据的一列转换为与原始数据分数对应/排列的z分数 .

现在,我想创建一个新的原始数据分数列,其中删除了z分数/ - 1.96 .

或者,我想知道如何根据我的原始分数创建一个新列,该分数会自动替换/ - 2SD远离均值的值,其值为0或“NA” .

谢谢大家!你们这里有很棒的社区,我打算学习很多东西 . 谢谢你的支持 .

1 回答

  • 0

    您可以使用子集运算符 [ . 假设你有一个向量, myData . 您可以像这样添加它:

    cutoff <- 1.96
    myData[abs(myData) > cutoff] <- NA
    

    最好不要使用 0 ,因为 0 是一个可能的值 . 请改用 NA . 此外,添加一个额外的变量是有帮助的: cutoff 使修改和阅读代码更容易 .

    要创建新矢量,可以使用 ifelse

    newVector <- ifelse(abs(myData) > cutoff, NA, myData)
    

    您可以将它们组合在一起:

    newData <- cbind(myData, newVector)
    

    或者,如果 myData 是一个数据帧,

    myData$newVector <- ifelse(abs(myData) > cutoff, NA, myData)
    

    将向数据框添加新列 .

相关问题