【发布时间】:2018-03-28 11:45:24
【问题描述】:
我正在尝试按指定条件过滤data.frame 中的两个变量。
我想对两个变量因素进行子集化:a) 评分 b) 位置
我过滤了 rating 变量以选择那些与我相关的评分,即 rating == 0。
现在,我现在想选择只有 Ratings == 0 的“位置”变量,但我无法这样做。我知道它是子集,但无法正确获取代码....但不过滤“位置”变量,我的位置变量将比我的评级变量更多。
我尝试了以下代码,但出现错误:
Unrated_MraLevel1 <- xyz[(MRA == "0" & xyzLocation)]
错误消息:在 Ops.factor(MRA== "0", xyz$Location) 中: ‘&’ 对因子没有意义
【问题讨论】:
-
将其转换为字符,它应该可以工作,即
xyz[(as.character(MRA) == "0" & xyzLocation)]最好用dput提供一个小的可重现示例 -
什么是
xyzLocation?你没有把它和任何东西比较。你正在做的事情很容易被复制,例如2 & factor(2)。我认为您正在尝试做xyz[xyz$MRA == 0, "Location"] -
& xyzLocation只有在xyzLocation是布尔变量时才有意义。 -
@DavidArenburg,xyz 是数据框,位置是我的 DF 中的变量之一。基本上考虑到我将评级变量过滤/子集为 == 0,现在我想过滤评级 == 0 的位置变量。这样我最终可以绘制这两个变量。即 - 我只想要他们的评级 ==0 的位置
-
我已经在评论中提供了代码。