【发布时间】:2020-04-14 03:02:01
【问题描述】:
我需要一个函数来获取矩阵中多个卡方检验的 p 值 寻找,我找到了这段代码:
chisqmatrix <- function(x) {
names = colnames(x); num = length(names)
m = matrix(nrow=num,ncol=num,dimnames=list(names,names))
for (i in 1:(num-1)) {
for (j in (i+1):num) {
m[i,j] = chisq.test(x[,i],x[,j],)$p.value
}
}
return (m)
}
mat = chisqmatrix(DATAFRAME)
mat
而且效果很好!
但问题是我需要这个函数省略 NA 值。
我不能只省略所有数据帧中的 NA 值,我需要为函数中的每一对省略它们
所以当x[,i] 选择列时,我如何才能实现它只取不为空的值。我尝试了 !="NA" 之类的方法,但方法不正确。
谢谢!
【问题讨论】:
-
只是为了检查,你的意思是做 chisq.test(x[,i],x[,j],) 还是 chisq.test(cbind(x[,i],x[, j],))
-
如果两者都是向量,那么根据小插图“删除缺失值的情况,将对象强制为因子,并根据这些计算列联表”,意思是,你不需要删除 NA。但如果这是故意的,那就太奇怪了
标签: r na missing-data chi-squared