Я знаю, что на этот вопрос, возможно, уже был дан ответ в другом месте, и извиняюсь за его повторение, если так, но я пока не нашел подходящего ответа.
У меня 17 предметов с двумя переменными, как показано ниже:
Time (s) OD
130 41.48
130.5 41.41
131 39.6
131.5 39.18
132 39.41
132.5 37.91
133 37.95
133.5 37.15
134 35.5
134.5 36.01
135 35.01
Я бы хотел, чтобы R идентифицировал первое значение в столбце 2 (OD) моего информационного кадра и создал новый столбец (OD_adjusted), добавляя или вычитая (в зависимости от того, является ли первое значение + ive или -ive) из всех значений в столбец 2, так это будет выглядеть так:
Time (s) OD OD_adjusted
130 41.48 0
130.5 41.41 -0.07
131 39.6 -1.88
131.5 39.18 -2.3
132 39.41 -2.07
132.5 37.91 -3.57
133 37.95 -3.53
133.5 37.15 -4.33
134 35.5 -5.98
134.5 36.01 -5.47
135 35.01 -6.47
Первое значение в столбце 2 - 41,48, поэтому я хочу вычесть это значение из всех точек данных в столбце 2, чтобы создать новый третий столбец (OD_adjusted).
Я могу использовать OD_adjusted <- ((df$OD) - 41.48)
, однако я хотел бы автоматизировать процесс с помощью функции, и вот где я застрял:
AUC_OD <- function(df){
return_value_1 = df %>%
arrange(OD) %>%
filter(OD [1,2) %>%
slice_(1)
colnames(return_value_1)[3] <- "OD_adjusted"
if (nrow(return_value_1) > 0 ) { subtract
(return_value_1 [1,2] #into new row
else add
(return_value_1 [1,2] #into new row
}