我正在尝试将包含数字数据的矩阵路径的字符串版本传递给函数。
我尝试使用noquote()
删除引号以及as.numeric()
转换其类。但是后者只能通过强制返回NA。
以下是正常方式以及我希望其适用的方式的示例:
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条路径进行硬编码。