我有一个数据集,我想将其子集化为仅有一个组的子组具有2个或更多唯一类的观察,(我试图将调查中的受访者分配到Nielsen DMA的跨州状态。)< / p>
所以,如果我有这个数据帧:
start <- data.frame("obs"=seq(1,10, by=1),"grp"=c(rep("A",4), rep("B",3),rep("C",3)), "sub_grp"=c(rep("A1",2), rep("A2",2), rep("B1",3), "C1","C2","C3"))
我需要使用什么命令将其子集化为此?
end <- data.frame("obs"=c(seq(1,4,by=1), seq(8,10, by=1)), "grp"=c(rep("A",4), rep("C",3)), "sub_grp"=c("A1","A1","A2","A2","C1","C2","C3"))
数据集都是data.tables,所以我认为该包中必须有一个特殊命令来执行此操作。
感谢您的帮助!
答案 0 :(得分:1)
使用data.table
,您可以使用uniqueN
检查 sub_grp 中的唯一值的数量,如果它大于1,请将该组保留为{{ 1}}:
.SD
答案 1 :(得分:1)
您可以使用
<div class="thermometer">
<div class="pointer">
</div>
</div>
<div class="input">
<form onsubmit="run(event)">
<input id='temperature' type="text" placeholder="°C" onfocus="this.placeholder=''" onblur="this.placeholder=''">
<input type="submit" value="Run" >
</form>
</div>
库:
dplyr
这会给你结果:
library(dplyr)
start %>%
group_by(grp) %>%
filter(length(unique(sub_grp)) >= 2) %>%
ungroup