Я очень плохо знаком с R и пытаюсь сделать что-то, что, как я могу себе представить, очень просто, но я не могу заставить его работать.
Я пытаюсь добавить новый столбец, в котором будет указано: «Первый квартиль», «Второй квартиль» и т. д. 1014 *. На основе уже заполненных значений квартиля во фрейме данных. Я думал, что это будет простой оператор if else, но мой приведенный ниже код заполняет новый столбец только «Четвертым квартилем» и «Нет значения» для случая, когда в столбце есть NA, на котором основан вывод.
Мой код:
Quartile_Apply <- function(row) {
One_Y_return <- row[10]
if (is.na(One_Y_return)) {
return("No Value")
}
if (One_Y_return <= 25 & One_Y_return > 0) {
return("First Quartile")
} else if (One_Y_return <= 50 & One_Y_return > 25) {
return("Second Quartile")
} else if (One_Y_return <= 75 & One_Y_return >50) {
return("Third Quartile" )
} else {
return("Fourth Quartile")
}
}
df_Fund_Fee_Data$`1Y_Perf_Quartile` <- apply(df_Fund_Fee_Data, 1, Quartile_Apply)
View(df_Fund_Fee_Data)
Часть row[10]
предназначена для указания операторов if на столбец "1Y_Return_Percentile", на котором будут основываться квартили, то есть столбец с номером 10 , а затем применить ко всем строкам в фрейме данных.
Мне кажется, что это не должно быть так сложно, и я мог упустить что-то явно очевидное, но я не смог заставить его работать ! Я также попробовал несколько различных модификаций кода, поэтому я просто приложил свое текущее состояние работы.
Заранее большое спасибо, Гарри