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时,我希望从分析中排除数据