2015-06-14 40 views
0

我使用R中的mcnemar.test()函数来检查一些统计假设。输出是类型“htest”的列表。即:如何访问R中“复杂”数值类型的值?

McnemarTest<-mcnemar.test(my_data) 

Browse[2]> McnemarTest 

    McNemar's Chi-squared test 

data: data.matrix(ContingencyTable) 
McNemar's chi-squared = 3.6, df = 1, p-value = 0.05778 

Browse[2]> class(McnemarTest) 
[1] "htest" 

我的问题涉及此名单的第二个元素,即McnemarTest [2]。这也是一个列表。

Browse[2]> class(McnemarTest[2]) 
[1] "list" 

Browse[2]> class(McnemarTest[[2]]) 
[1] "numeric" 

Browse[2]> McnemarTest[2] 
$parameter 
df 
1 

Browse[2]> McnemarTest[[2]] 
df 
1 

我的问题是:我如何隔离仅值 “1” McnemarTest [[2]],并摆脱了 “DF” 字符串?

谢谢。

回答

2

1是那里唯一的价值。它是长度为1的已命名向量。值为1,名称为"df"。你可以看到这一点:

xx = McnemarTest$parameter 
length(xx) 
names(xx) 

如果你真的想摆脱这个名字,

xx = unname(xx) 

但你需要做的最多的事,unnaming可能是没有必要的。

+0

谢谢。正是我需要的。我对R很陌生,所以我没有想到这一点。非常感谢! – user5008646