Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/77.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_Filter - Fatal编程技术网

通过检查行在R中是否有多个值来删除行

通过检查行在R中是否有多个值来删除行,r,filter,R,Filter,我有一个这种形式的数据框 Year Department Jan Feb ................... Dec 2017 TF 15.15 225.51 .............. 5562.1 2015 CIF ................................... 2013 TTR .................................... 2011 COR .

我有一个这种形式的数据框

Year  Department  Jan      Feb ................... Dec
2017  TF           15.15   225.51  ..............  5562.1
2015  CIF        ...................................  
2013  TTR       ....................................
2011  COR      ....................
.    .............................
.     ......................
作为总结,我想创建一个算法,但首先我必须进行以下过滤:

  • 如果某个部门没有2013年、2014年、2015年、2016年的值,则我希望从我的数据集中排除该部门

  • 换句话说,通过读取每个部门的数据,按月份列中包含所有四年值的部门过滤数据

我尝试了exists,is.na,但多次筛选总是失败。另一个障碍是过滤器只适用于单个条件,但这里我需要4个条件。必须存在4年值才能在下一步中使用


谢谢。

使用R base的解决方案:

df = read.table(text = "Year, Department
2016,TF
2017,TF
2013,CIF
2014,CIF
2015,CIF
2016,CIF
2013,TTR", header = TRUE, sep = ",", stringsAsFactors = FALSE)

df[df$Department %in% subset(aggregate(subset(df, Year %in% c(2013,2014,2015,2016)), by=list(n$Department), FUN=length), Department==4)[,1], ]
输出:

  Year Department
3 2013        CIF
4 2014        CIF
5 2015        CIF
6 2016        CIF

我找不到与这个问题完全相同的答案。似乎是一个快速解决方法,使用
groupby

库(dplyr)
df#A tible:6 x 2
#>年鉴部
#>         
#>1 2013 TF
#>2 2014 TF
#>2015年3月TF
#>4 2016 TF
#>5 2015到岸价
#>2016年6月TTR
df%>%
组别(部门)%>%
变异(x=年百分比,以%c表示(2013:2016),
y=总和(x))%>%
解组()%>%
过滤器(y==4)
#>#tibble:4 x 4
#>年份部门x y
#>           
#>2013年1月4日
#>2014年2月4日
#>2015年3月4日
#>4 2016 TF真实4

欢迎来到SO。本网站不是一个代码编写服务,也不是为了提供完整的解决方案。用户需要付出一些努力和编写一些代码,而SO将在这里帮助您解决具体的编程问题。你已经试过什么了吗?请阅读: