У меня есть три фрейма данных, каждый с одним столбцом и одинаковой длины со следующими данными примера:
df1 = c(1, 2, 3)
df2 = c('a', 'b', 'a')
df3 = c(2, 3, 4)
Я конвертирую все значения "a" в df2 в 100 и все значения "b" в df2 в -100, используя следующий код:
df2[df2 == "a"] <- as.numeric(100)
df2[df2 == "b"] <- as.numeric(-100)
Затем я создаю df4, умножая df1, df2 и df3, используя этот код:
df4 <- (df1 * df2 * df3)
Однако я получаю следующую ошибку:
Error in FUN(left, right) : non-numeric argument to binary operator
Что я делаю не так? Я могу умножать df1 и df3 без проблем, только когда я добавляю df2, возникает проблема. Если я посмотрю на среднее значение df2, то получу, что среднее значение равно «NA_real_», что заставляет меня поверить, что мои численные значения c не рассматриваются как числа. Спасибо!