R-NA提交mann-whitney u测试

R-NA提交mann-whitney u测试,r,statistics,na,R,Statistics,Na,我需要计算加权Mann-Whitney U检验结果几百次。每一次迭代都涉及两组之间差异的两个样本测试。我不知道如何让现有函数在不动态删除案例的情况下处理缺少的值 一些比较的数据是,在我称之为dat的数据框中。本表中带数字的所有变量均为数字类型 下面是我如何调用sjstats::mannwhitney()函数: mannwhitney(dat, measure1, group) 当我这样做时,我会得到以下错误: Error in `[[<-.data.frame`(`*tmp*`, &qu

我需要计算加权Mann-Whitney U检验结果几百次。每一次迭代都涉及两组之间差异的两个样本测试。我不知道如何让现有函数在不动态删除案例的情况下处理缺少的值

一些比较的数据是,在我称之为
dat
的数据框中。本表中带数字的所有变量均为数字类型

下面是我如何调用
sjstats::mannwhitney()
函数:

mannwhitney(dat, measure1, group)
当我这样做时,我会得到以下错误:

Error in `[[<-.data.frame`(`*tmp*`, "grp1.label", value = character(0)) : 
  replacement has 0 rows, data has 1

“[[中的
错误我不确定您的组列是什么类,但如果我这样做:

library(sjstats)
dat = read.csv("question - Sheet1.csv")
str(dat)

'data.frame':   301 obs. of  5 variables:
 $ measure1 : num  2 1.6 2.2 2.7 1.8 1.8 4 4 3.9 -3.7 ...
 $ measure2 : num  0.9 0.1 0 0.4 -1 -1.3 2.1 0 -1.1 -3.9 ...
 $ measure3 : num  1.1 1.1 2.2 1.2 1.9 1.2 0 3 1.9 -3.8 ...
 $ measurre4: num  2 2 2 3 3 2 3 4 3 2.36 ...
 $ group    : int  0 0 0 0 0 0 0 0 0 0 ...
我得到:

mannwhitney(dat, measure1, group)
Error in `[[<-.data.frame`(`*tmp*`, "grp1.label", value = character(0)) : 
  replacement has 0 rows, data has 1
阅读,错误来自以下方面:

labels <- sjlabelled::get_labels(grp, attr.only = F, values = NULL, 
        non.labelled = T)
labels <- sjlabelled::get_labels(grp, attr.only = F, values = NULL, 
        non.labelled = T)
sjlabelled::get_labels(0:1)
NULL

sjlabelled::get_labels(factor(0:1))
[1] "0" "1"