Я хотел бы создать функцию, которая позволит мне вводить имя и столбец информационного кадра и возвращать средние значения его значений вменения (уже выполнено вменение через мышь для каждого из столбцов
#fillNA values for columns
fillna_func <- function(data, col){
df <- data.frame(rowMeans(imp_model$imp$col))
brf <- data.frame(data[, col])
colnames(brf) <- "col2"
colnames(df) <- "col2"
brf$col1 <- rownames(brf)
df$col1 <- rownames(df)
setDF(brf[df,col2_ :=i.col2,on=.(col1)])
}
brfss2013$X_bmi5 <- fillna_func(brfss2, "X_bmi5" )
brfss2013$X_bmi5 <- fillna_func(brfss2, "pa1min_" )
Однако это трассировка, которую я получаю:
Error in rowMeans(imp_model$imp$col) :
'x' must be an array of at least two dimensions
4.
stop("'x' must be an array of at least two dimensions")
3.
rowMeans(imp_model$imp$col)
2.
data.frame(rowMeans(imp_model$imp$col))
1.
fillna_func(brfss2, "X_bmi5")