Как я могу изменить значение в R

#r #loops #for-loop

#r #циклы #для цикла

Вопрос:

У меня вопрос. Я пытаюсь получить среднее значение набора данных из вопросника, но мне нужно изменить некоторые результаты.

Итак, участники оценили свой уровень тревожности по шкале 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, чтобы сделать это для меня для каждого набора данных.

Заранее спасибо.

Комментарии:

1. abs(x - 101) должен это сделать

Ответ №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