У меня есть код, который я хочу воспроизвести много раз, каждый для другой страны в качестве суффикса.
Предположим, что 3 страны в качестве простого примера:
country_list <- c('ALB', 'ARE', 'ARG')
I Я пытаюсь создать серию переменных под названием a_m5_ALB
, a_m5_ARE
, a_m5_ARG
et c, которые имеют различные функции, например addcol
или round_df
, применяемые к reg_math_ALB
, reg_math_ARE
, reg_math_ARG
et c
for (i in country_list) {
paste("a_m5", i , sep = "_") <- addcol(paste("reg_math", i , sep = "_"))
}
for (i in country_list) {
paste("a_m5", i , sep = "_") <- round_df(paste("reg_math", i , sep = "_"))
}
где addcol
и round_df
определяются как:
addcol = function(y){
dat1 = mutate(y, p.value = ((1 - pt(q = abs(reg.t.value), df = dof))*2))
return(dat1)
}
round_df <- function(x, digits) {
numeric_columns <- sapply(x, mode) == 'numeric'
x[numeric_columns] <- round(x[numeric_columns], digits)
x
}
Ошибки l oop, когда любая из функций добавляется в скобки перед часть переменной вставки, но она работает, если делать это вручную, например,
a_m5_ALB <- addcol(reg_math_ALB)
Не могли бы вы помочь? Я думаю, что это приложение функции в al oop, которое я ошибаюсь.
Ошибки:
Error in UseMethod("mutate_") :
no applicable method for 'mutate_' applied to an object of class "character"
Error in round(x[numeric_columns], digits) :
non-numeric argument to mathematical function
Спасибо