R:从 S4 对象获取槽值(ScalarIndependenceTest)
R: get value of a slot from S4 object(ScalarIndependenceTest)
我不是 R.Anyway 的高级用户,我只想对两个数据集进行 Wilcox 检验:
library(coin)
GroupA = c(2,4,3,1,2,3,3,2,3,1)
GroupB = c(3,5,4,2,4,3,5,5,3,2)
g = factor(c(rep("GroupA", length(GroupA)), rep("GroupB", length(GroupB))))
v = c(GroupA, GroupB)
ss = wilcox_test(v ~ g, distribution="exact")
我想要的是获取 Zvalue 并计算效果大小。 ss 是一个 S4 对象,当我打印它时,我看到它报告了一个 Z 值,但我在 ss@statistic 中找不到它。
唯一具有我期望值的插槽是 'test statistic',但即使这是我执行时测试的 z 值:
slot(ss, 'teststatistic')
我收到错误:
no slot of name "teststatistic" for this object of class "ScalarIndependenceTest"
任何人都可以给我提示吗?谢谢
S4 类 的 print
等价物是 show
方法,可以使用 getMethod
检查。在这种情况下,
ss
#
# Exact Wilcoxon-Mann-Whitney Test
#
#data: v by g (GroupA, GroupB)
#Z = -2.1095, p-value = 0.0385
#alternative hypothesis: true mu is not equal to 0
getMethod("show","ScalarIndependenceTest")
#Method Definition:
#
# function (object)
# {
# distname <- switch(class(object@distribution), AsymptNullDistribution = "Asymptotic",
# ApproxNullDistribution = "Approximative", ExactNullDistribution = "Exact")
# RET <- list(statistic = setNames(object@statistic@teststatistic,
# nm = "Z"), p.value = object@distribution@pvalue(object@statistic@teststatistic),
# alternative = object@statistic@alternative, data.name = varnames(object@statistic),
# method = paste(distname, object@method))
#...
#...
# }
ss@statistic@teststatistic
# GroupA
#-2.109531
ss@distribution@pvalue(ss@statistic@teststatistic)
#[1] 0.03850484
我不是 R.Anyway 的高级用户,我只想对两个数据集进行 Wilcox 检验:
library(coin)
GroupA = c(2,4,3,1,2,3,3,2,3,1)
GroupB = c(3,5,4,2,4,3,5,5,3,2)
g = factor(c(rep("GroupA", length(GroupA)), rep("GroupB", length(GroupB))))
v = c(GroupA, GroupB)
ss = wilcox_test(v ~ g, distribution="exact")
我想要的是获取 Zvalue 并计算效果大小。 ss 是一个 S4 对象,当我打印它时,我看到它报告了一个 Z 值,但我在 ss@statistic 中找不到它。 唯一具有我期望值的插槽是 'test statistic',但即使这是我执行时测试的 z 值:
slot(ss, 'teststatistic')
我收到错误:
no slot of name "teststatistic" for this object of class "ScalarIndependenceTest"
任何人都可以给我提示吗?谢谢
S4 类 的 print
等价物是 show
方法,可以使用 getMethod
检查。在这种情况下,
ss
#
# Exact Wilcoxon-Mann-Whitney Test
#
#data: v by g (GroupA, GroupB)
#Z = -2.1095, p-value = 0.0385
#alternative hypothesis: true mu is not equal to 0
getMethod("show","ScalarIndependenceTest")
#Method Definition:
#
# function (object)
# {
# distname <- switch(class(object@distribution), AsymptNullDistribution = "Asymptotic",
# ApproxNullDistribution = "Approximative", ExactNullDistribution = "Exact")
# RET <- list(statistic = setNames(object@statistic@teststatistic,
# nm = "Z"), p.value = object@distribution@pvalue(object@statistic@teststatistic),
# alternative = object@statistic@alternative, data.name = varnames(object@statistic),
# method = paste(distname, object@method))
#...
#...
# }
ss@statistic@teststatistic
# GroupA
#-2.109531
ss@distribution@pvalue(ss@statistic@teststatistic)
#[1] 0.03850484