Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 当条件满足时,如何删除特定行?_R_Dataframe - Fatal编程技术网

R 当条件满足时,如何删除特定行?

R 当条件满足时,如何删除特定行?,r,dataframe,R,Dataframe,如果列EP标记为1,则当它满足两列的条件时,我尝试删除/过滤掉某些特定行。具体代码是什么? 例如:在数据框df\u NC中,当列“人口类型”(二进制类型)等于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 )) df_ep%突变(ep=case_时(

如果列
EP
标记为
1
,则当它满足两列的条件时,我尝试删除/过滤掉某些特定行。具体代码是什么? 例如:在数据框
df\u NC
中,当列“人口类型”(二进制类型)等于
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
))
df_ep%突变(ep=case_时(
df_NC$Population_Type==1&df_NC$NC==0~1,
真~0
))

根据您的代码,我假设您使用的是
dplyr
软件包。有几个错误

  • 您不需要在
    dplyr
    函数中使用基本符号,如
    df_NC$NC
    ,只需使用变量的名称即可

  • 如果要筛选其中一个值(
    0
    /
    FALSE
    ),我看不到创建列
    EP
    的原因

df\u NC%>%
突变(EC=if\u-else(总体类型==1&NC==0,1,0))%>%
过滤器(EC==1)
#或者更短,考虑到我的第二点
df_NC%>%
过滤器(总体类型==1,NC==0)#等效于EC==1

另外,尝试使用布尔值(
TRUE
/
FALSE
)而不是整数
1
/
0
)来处理“二进制”数据类型。

在这种情况下,尝试
df\u NC[df\u NC$Population\u type!=1&df\u NC$NC!=0,]
,它删除了所有的rowsthanks@Gabriel Silva,创建列EP的原因是我将在以后的分析中使用标记的值