У меня есть функция, которая выглядит следующим образом:
calc_func <- function(data, n) {
return(sum((data[1]**(1/n))*(data[2]/sum(data[2]))**n)
}
В основном data
- это просто список из двух столбцов (загруженный из файла .txt), который выглядит следующим образом:
col_data1 col_data2
1 0.005 1.921053e+01
2 0.015 9.410499e-01
3 0.025 7.493472e-01
4 0.035 6.231897e-01
5 0.045 5.354181e-01
Так что, если n = 0.5
или что-то в этом роде, то просто принимает каждое значение col_data1
до степени 1/n
, а затем все суммируется до степени n
и суммирует все в одно значение.
Однако мне нужно сделать это для "многих" n
, например n <- seq(0.1, 1, 0.01)
, и я знаю, что, возможно, я мог бы просто создать простой цикл и выполнить итерации по n
и получить length(n)
значения, но из-за предыдущих и будущих расчетов я бы очень хотел избежать циклов из-за скорости.Так есть ли способ, которым я могу использовать вектор n
, где каждое отдельное значение будет использоваться как отдельный вход в функцию?Если я просто запускаю это, я получаю новый вектор / список со значениями length(n)
, но что-то не так, и значения совсем не такие, какими они должны быть (я не уверен, что на самом деле делает, если честно).