我正在从数据框中的 3 个变量构建 3d 列联表。假设我正在通过以下方式构建这些
table(x,y,z)
其中 z 是我要分层的变量。我想摆脱(,,z(i))
该层中观察数为1的任何地方。
我该怎么做?首先,我很难弄清楚如何计算观察结果,我认为我可以使用子集来减少我的列联表。
我正在从数据框中的 3 个变量构建 3d 列联表。假设我正在通过以下方式构建这些
table(x,y,z)
其中 z 是我要分层的变量。我想摆脱(,,z(i))
该层中观察数为1的任何地方。
我该怎么做?首先,我很难弄清楚如何计算观察结果,我认为我可以使用子集来减少我的列联表。
假设您的数据包含在名为 的数据框对象中data
,则此代码应通过一次观察删除层中的所有数据。
data <- data[-which(data$z %in% which(table(data$z)==1)),]
编辑
这似乎现在有效。我不确定这是否能正常工作,但它适用于这种情况。
data <- read.csv(file='~/Downloads/juveniles2forMax.csv')
data <- data.frame(
Urban = data$Urban,
RecidivismPlacement = data$RecidivismPlacement,
timeinjj = data$timeinjj
)
removeStrata <- function(data, z) {
data[-which(data[,z] %in% as.numeric(attr(which(table(data[,z])==1),"names"))),]
}
removeStrata(data=data, z='timeinjj')