【问题标题】:How can I reverse a value in R如何反转 R 中的值
【发布时间】:2021-01-25 10:15:05
【问题描述】:

我有一个问题。我正在尝试从问卷中获取数据集的平均值,但我需要对一些结果进行反向评分。

因此,参与者以 0-100 的等级评定他们的焦虑程度。总共有六个 0-100 的问题。得分越高表明压力水平越高。 但对于某些问题,高压力被认为是较低的分数。

data | Scores 

1      76  
2      90  
3      52  
4      65  
5      90  
6      90 

我需要反转的问题是 2,4,5 例子: 问题 2 的分数为 90。我需要它显示为 11 的分数。 (比例为 0-100)101-90 = 11。

在阅读了互联网上的一些论坛之后,我猜我需要在目标问题上减去 -101。但是我如何为 R 编写代码来为每个数据集执行此操作。

提前致谢。

【问题讨论】:

  • abs(x - 101) 应该这样做

标签: r loops for-loop


【解决方案1】:

这应该可以在没有 for 循环的情况下工作。

df <- data.frame(data = c(1, 2, 3, 4, 5, 6),
                 scores = c(76, 90, 52, 65, 90, 90))
df
#   data scores
# 1    1     76
# 2    2     90
# 3    3     52
# 4    4     65
# 5    5     90
# 6    6     90

# Setup and change specific rows
rows_to_change <- c(2, 4, 5)
df[rows_to_change, 2] <- 101 - df[rows_to_change, 2]

df
#   data scores
# 1    1     76
# 2    2     11
# 3    3     52
# 4    4     36
# 5    5     11
# 6    6     90

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多