-1

可能重复:
R 过滤掉一个子集

我有一个R数据集。在这个数据集中,我希望使用包gmodels为两个分类变量创建一个交叉表,然后chisq.test在它们上运行。这两个变量是witnessagegroupwitness由值为 1,2 和 9 的观测值agegroup组成。由值 1,2 组成。我希望排除值 if witness=9, or/and a 3rd variable EMS=2from the table 但我不确定如何继续。

library(gmodels)
CrossTable (mydata$witness, mydata$agegroup)
chisq.test (mydata$witness, mydata$agegroup)

...所以我的问题是,我怎样才能在条件witness!=9EMS!=2

4

2 回答 2

1

我希望这个问题会被关闭,因为它看起来真的是重复的。但正如蔡斯所建议的那样,我认为某种形式的子集化是解决这个问题的最简单方法,例如

mydata[mydata$witness !=9 & mydata$EMS !=2,]
于 2012-09-23T17:31:23.610 回答
1
 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)

您可以将变量“EMS”留在“mydata”中。它不会损害您的分析!高温高压

于 2012-09-23T16:43:01.410 回答