我正在尝试将“母数据帧”细分为三个数据帧:称为 的母数据帧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,其中所有未在dfrm2
or中选择的行dfrm3
。直到现在我还没有成功。
我认为这个想法可能是指示 Rdfrm
根据id
尚未选择的情况从母亲中删除行。有人可以帮我吗?