我正在尝试将“母数据帧”细分为三个数据帧:称为 的母数据帧dfrm具有不同的变量,包括id(标识)、time(三个时间点)、一个数值变量Ht和一个fac具有 3 个级别的因子取决于 Ht。
我创建了 2 个 data.frames,dfrm2并dfrm3使用该ddply函数对在三个时间点中的每个时间点具有一定级别fac变量的主题进行排序:
id <- rep(c(seq(1,50,1)),3)
time <- factor(rep(c("day1", "day2", "day3"), c(50,50,50)), levels=c("day1", "day2", "day3"), labels=c("day1", "day2", "day3"), ordered=TRUE)
Ht <- rnorm(150, mean=30, sd=3)
A <- rnorm(150, mean=7, sd=10)
df <- as.data.frame(cbind(id,time,Ht,A))
head(df)
fac <- factor(cut(df$Ht, breaks=c(1,30,35,100), labels=c("<30%","<35%", ">35%"), include.lowest=TRUE))
dfrm <- as.data.frame(cbind(df,fac))
library(plyr)
dfrm2 <- ddply(dfrm, "id", function(x) if(all(x$fac=="<30%")) x else NULL)
nrow(dfrm2)
[1] 18
dfrm3 <- ddply(dfrm, "id", function(x) if(all(x$fac=="<35%")) x else NULL)
nrow(dfrm3)
[1] 6
我想创建第三个 data.frame,其中所有未在dfrm2or中选择的行dfrm3。直到现在我还没有成功。
我认为这个想法可能是指示 Rdfrm根据id尚未选择的情况从母亲中删除行。有人可以帮我吗?