我正在尝试按指定条件过滤data.frame
中的两个变量。
我希望将两个可变因子分组:a)评级b)位置
我过滤了评级变量,以便选择与我相关的评分,即评分== 0.
现在,我想选择'位置'变量只有一个评级== 0,但我无法这样做。我知道它是子集,但是无法正确获取代码....但是不能过滤“'”位置''变量我的位置变量的数量将超过我的评级变量。
我尝试了以下代码,但收到错误:
Unrated_MraLevel1 <- xyz[(MRA == "0" & xyzLocation)]
错误消息:在Ops.factor中(MRA ==&#34; 0&#34;,xyz $ Location): '&amp;'对因素无意义
答案 0 :(得分:0)
根据您的描述,这就是您想要的。
示例数据:
dd <- data.frame(location=rep(letters[1:3],each=3),
MRA=c(rep(0,3),1:3,c(2,0,0)))
汇总数据以查找所有location
值等于零的级别:
a <- aggregate(MRA~location,dd,FUN=function(x) all(x==0))
提取要保留的级别:
keep.levels <- a$location[a$MRA]
子集数据集:
dd[dd$location %in% keep.levels,]