2015-12-29 52 views
0

我试图将数据组织为一致的面板数据。唯一的问题是对于Year和School_id这两列,问题是一些school_id没有所有年份的数据。有没有办法可以过滤仅包含含2012,2013,2014年份的school_ids的数据集?通过不同列的条目过滤R中的数据

我宁愿在R中这样做,但如果它可以在Excel中完成,那很好。

+3

请提供一个最小的工作示例以及所需输出。 –

+0

re。最小的工作示例:你可以看看[这个SO帖子](https://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)关于如何使一个伟大的在R中可重现的例子。此外,如果你概述你已经尝试过的东西,它也会很有帮助。 –

回答

0

这里是一个开始,虽然我不知道以什么实际数据的样子(也,请尝试用[r] remove na data frame在计算器搜索)

set.seed(422) 
(
foo <- data.frame(
    school_id = c(0, 10, NA, 8), 
    Year = c(2011,2012,2013,2014), 
    variable_01 = sample(c(1:4, NA), 4, replace=T), 
    variable_02 = sample(c(1:4, NA), 4, replace=T), 
    variable_03 = sample(c(1:4, NA), 4, replace=T), 
    variable_04 = sample(1:4, 4, replace=T), 
    variable_05 = sample(c(1:4, NA), 4, replace=T)) 
) 
# school_id Year variable_01 variable_02 variable_03 variable_04 variable_05 
#   0 2011   3   1   1   4   4 
#  10 2012   NA   3   4   1   NA 
#  NA 2013   NA   4   NA   3   3 
#   8 2014   3   4   1   3   2 

foo[complete.cases(foo[,3:7]), ] 
# school_id Year variable_01 variable_02 variable_03 variable_04 variable_05 
#   0 2011   3   1   1   4   4 
#   8 2014   3   4   1   3   2