R 尝试用NAs删除行,以便进行卡方分析

R 尝试用NAs删除行,以便进行卡方分析,r,na,chi-squared,rowdeleting,R,Na,Chi Squared,Rowdeleting,R社区 我试图暂时删除包含NA的行,以便对数据进行卡方分析。否则,当我选择两个变量来创建数据表时,会出现一个标题为“未知”的列,这将干扰我所知道的卡方分析 这些行对应于数据中的每个患者。 mint$bp_type2和mint$更年期是两列。 我的想法是用一个随机数代替NAs;我选了20个。这样,我就可以删除该列下值为20的行 代码如下: mint <- mint[!(mint$bp_type2 == 20),] mint$menopause[is.na(mint$menopause)] &

R社区

我试图暂时删除包含NA的行,以便对数据进行卡方分析。否则,当我选择两个变量来创建数据表时,会出现一个标题为“未知”的列,这将干扰我所知道的卡方分析

这些行对应于数据中的每个患者。 mint$bp_type2和mint$更年期是两列。 我的想法是用一个随机数代替NAs;我选了20个。这样,我就可以删除该列下值为20的行

代码如下:

mint <- mint[!(mint$bp_type2 == 20),] mint$menopause[is.na(mint$menopause)] <- 20 mint <- mint[!(mint$menopause == 20),] table(mint$bp_type2,mint$menopause) chisq.test(mint$bp_type2,mint$menopause)
mint错误消息是因为列“bp_type2”是一个
因子,而“20”不是该列的
级别之一。我们可以转换为
字符
,或者创建“20”作为
级别之一

levels(mint$bp_type2) <- c(levels(mint$bp_type2), '20')
尝试:


这将在进行卡方检验时忽略NAs。

您可以使用
NA.omit()
删除
NA
列,可能会对您有所帮助。如果可以直接删除,为什么要将值替换为20?
levels(mint$bp_type2) <- c(levels(mint$bp_type2), '20')
mint$bp_type2[is.na(mint$bp_type2)] <- '20'
library(forcats)
mint$bp_type2 <- fct_expand(mint$bp_type2, '20')
chisq.test(na.omit(df$columnName))