如果将pracma包加载到r控制台并键入
gammainc(2,2)
Run Code Online (Sandbox Code Playgroud)
你得到
lowinc uppinc reginc
0.5939942 0.4060058 0.5939942
Run Code Online (Sandbox Code Playgroud)
这看起来像某种命名元组或其他东西.
但是,我无法弄清楚如何提取下面的数字lowinc,即0.5939942.代码(gammainc(2,2))[1]不起作用,我们得到
lowinc
0.5939942
Run Code Online (Sandbox Code Playgroud)
这不是一个数字.
这是怎么做到的?
可以用str(gammainc(2,2)[1])和检查,class(gammainc(2,2)[1])OP中提到的输出实际上是一个数字.它只是一个命名号码.用作向量属性的名称应该使输出更容易理解.
该函数unname()可用于获取没有名称的数字向量:
unname(gammainc(2,2))
#[1] 0.5939942 0.4060058 0.5939942
Run Code Online (Sandbox Code Playgroud)
要选择第一个条目,可以使用:
unname(gammainc(2,2))[1]
#[1] 0.5939942
Run Code Online (Sandbox Code Playgroud)
在这种特定情况下,更清晰的版本可能是:
unname(gammainc(2,2)["lowinc"])
Run Code Online (Sandbox Code Playgroud)