我的数据框如下所示。我需要根据区域
从数据帧中提取AveElapsed或Runtime >avg_data
region SN value AveElapsed Runtime
beta 1 32 1372 943.668
alpha 2 44 1408 966.495
beta 3 55 1384 951.091
beta 4 60 1390 954.929
atp 5 22 1442 924.381
我需要根据参数获取“AveElapsed”列或“Runtime”列。
下面的命令工作正常。但我怎么能
>avg_data[avg_data$region =="beta", "AveElapsed"]
[1] 1372 1408 1384 1390 1442
但是当我使用功能时
newfun(z, h)
{
avg_data[avg_data$region == z, h]
}
当我调用此函数时
newfun(beta, AveElapsed)
我收到这样的错误..请告知。
Error in "[.data.frame"(avg_data, avg_data$region == z, h) :
object "beta" not found
此外,当我尝试使用如下所示时它不起作用..
M=AveElapsed
avg_data[avg_data$region == "beta", M]
答案 0 :(得分:2)
那是因为对象beta
不存在。
试试这个:
newfun("beta", "AveElapsed")
传递包含字符串“beta”的字符对象,而不是名为beta的(不存在的)对象的内容。与@BenBarnes指出的“AveElapsed”相同。