Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 排除交叉表中的值_R_Dataset_Chi Squared - Fatal编程技术网

R 排除交叉表中的值

R 排除交叉表中的值,r,dataset,chi-squared,R,Dataset,Chi Squared,可能重复: 我有一个R数据集。在这个数据集中,我希望使用包gmodels为两个分类变量创建一个交叉表,然后对它们运行chisq.test。 这两个变量是witness和agegroup见证由值为1、2和9的观察值组成年龄组由值1,2组成。 如果witness=9,或/和第三个变量EMS=2,我希望从表中排除这些值,但我不确定如何继续 library(gmodels) CrossTable (mydata$witness, mydata$agegroup) chisq.test (mydata$

可能重复:

我有一个R数据集。在这个数据集中,我希望使用包
gmodels
为两个分类变量创建一个交叉表,然后对它们运行
chisq.test
。 这两个变量是
witness
agegroup
<代码>见证由值为1、2和9的观察值组成<代码>年龄组由值1,2组成。 如果
witness=9
,或/和第三个变量
EMS=2
,我希望从表中排除这些值,但我不确定如何继续

library(gmodels)
CrossTable (mydata$witness, mydata$agegroup)
chisq.test (mydata$witness, mydata$agegroup)
…所以我的问题是,在
witness!的条件下,我如何做上述操作=9
EMS=2

数据:
 data:
    witness agegroup EMS
    1 1 2
    2 2 2
    1 1 2
    2 1 2
    9 2 2
    2 2 2
    1 2 2
    9 2 2
    2 1 2
 #save the data in your current working directory

 data <- read.table("data", header=TRUE, sep = " ")

 data$witness[data$witness == "9"] <- NA

 mydata <- data[!is.na(data$witness),]

 library("gmodels")

 CrossTable(mydata$witness, mydata$agegroup, chisq=TRUE)
证人年龄组别 1 1 2 2 2 2 1 1 2 2 1 2 9 2 2 2 2 2 1 2 2 9 2 2 2 1 2 #将数据保存在当前工作目录中
数据我希望这个问题结束,因为它看起来确实是重复的。但正如和所建议的,我认为某种形式的子集是实现这一点的最简单方法,例如

mydata[mydata$witness !=9 & mydata$EMS !=2,]

您的意思是如何对数据进行子集划分吗?您只需在交互式会话中使用恰当命名的
subset()
函数或使用
[
extraction操作符。尝试搜索SO。谢谢各位。子集设置不会创建一个新的数据集,在其中删除这些观察结果吗?我对SAS中的if/when/where函数感兴趣,在这里它被分配给每个任务,而不是提取。非常感谢sathish。我可能没有清楚地表达我自己的观点;实际上EMS是一个值为1和2的变量。每当EMS的值为2而不是1时,我希望从分析中排除数据