如果列EP
未被标记为1
,则我尝试删除/过滤出满足两列条件的某些特定行。具体的代码是什么?
例如:在数据帧df_NC
中,当列“ Population_type”(二进制类型)等于1
并且列NC
(二进制类型)等于0
时删除满足此条件时的行,否则将EP
标记为1
df_ep <- df_NC %>% mutate(EP= case_when(
df_NC$Population_Type == 1 & df_NC$NC == 0 ~ 1,
TRUE ~ 0
))
答案 0 :(得分:0)
根据您的代码,我假设您使用的是dplyr
软件包。那里有几个错误。
您不需要在df_NC$NC
函数中使用像dplyr
这样的基本符号,只需使用变量的名称即可。
如果您要过滤其中一个值(EP
/ 0
),则看不到创建列FALSE
的原因。
df_NC %>%
mutate(EC = if_else(Population_Type == 1 & NC == 0, 1, 0)) %>%
filter(EC == 1)
# Or shorter, considering my second point
df_NC %>%
filter(Population_Type == 1, NC == 0) # Equivalent to EC == 1
此外,尝试使用布尔(TRUE
/ FALSE
)而不是整数1
/ 0
来处理“二进制”数据类型。