Я пытаюсь передать строковую версию пути матрицы, содержащей числовые данные, в функцию.
Я пытался использовать noquote()
для удаления цитат, а также as.numeric()
для преобразования своего класса. Но последний возвращает АН только по принуждению.
Ниже приведен пример нормального способа и способа, которым я хочу, чтобы он работал:
df = as.data.frame(matrix(rexp(25, rate = 0.01), 5)) # Random matrix
colnames(df) = c("a", "b", "c", "d", "e") # Giving it column names
df # Looks like this
dens_df_a.WORKS = density.default(df$a) # Making a density object
plot(dens_df_a.WORKS) # Plotting it nice and fresh
### This works! ###
#------------------------------------------------------------
matrix_path = noquote("df$a") # Assigning the same matrix path with no string quotes
dens_df_a.FAILS = density.default(matrix_path) # Doesn't create density object this time
### This messes up :( ###
Если перефразировать мой вопрос, как я могу «активировать» matrix_path
в приведенном коде, чтобы он работал как первая половина?
Вместо работы я получаю сообщение об ошибке «аргумент« x »должен быть числовым» (это не новость).
Это может показаться ненужным пытаться и пытаться, но я хочу добиться этого в больших масштабах, а не для одного пути. Поэтому я не планирую жестко кодировать 50 путей.