#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