从数据框中提取特定行以生成新的数据帧

时间:2016-09-26 12:59:39

标签: r

我有一个具有一些NA值的数据帧。我想拉出具有NA的行,但是我不想删除它们,我想创建一个新的数据帧,其中只包含特定列中具有NA的那些行。 / p>

我已经搜索了如何做到这一点的答案,但我发现的一切只是告诉我如何删除NA行。有人评论他们所说的而不是删除他们不想要的行,搜索如何使用你想要的行创建一个新的框架......但我还是没能找到怎么做。

我的数据框Biov_per_genus2如下所示:

      ID      Code Mag_x Sample Source Count Avg_Biov_cell total_biov_code
1    Env_102         A   200    102    Env    44  7.962052e+03    
2    Env_102         A   400    102    Env     1            NA              
3    Env_102        AA   200    102    Env     2  2.567925e+01    
4    Env_102        AA   400    102    Env     8  9.664901e+00    
5    Env_102         B   200    102    Env    46  1.883699e+04    
6    Env_102        CG   400    102    Env     1            NA              
7    Env_102        CY   400    102    Env    12  2.188643e+01    
8    Env_102         D   400    102    Env    21  1.413717e+01    
9    Env_102         F   400    102    Env     6  8.136725e+02    
10   Env_102    Group1   200    102    Env     2  2.073616e+02    
11   Env_102    Group1   400    102    Env    87  9.557676e+00    
12   Env_102        JJ   200    102    Env    24  5.169177e+03    
13   Env_102        JJ   400    102    Env    18  5.230752e+02    
14   Env_102        KK   400    102    Env     1            NA              
15   Env_102        MC   400    102    Env    32  1.342800e+03    
16   Env_102         N   400    102    Env     7  1.453212e+02    
17   Env_102         O   200    102    Env    43  2.035783e+04    
18   Env_102         O   400    102    Env    10  1.255538e+03    
19   Env_102     PrevH   200    102    Env     3  3.474356e+05    
20   Env_102      S-SS   200    102    Env     3  2.458556e+03    
21   Env_102      S-SS   400    102    Env     3  1.846000e+02    
22   Env_102        TF   200    102    Env     8            NA              
23   Env_102         U   200    102    Env     2  6.819019e+02    
24   Env_102        WG   200    102    Env     1  9.894446e+03    
25   Env_102         Z   200    102    Env    28  3.133701e+02    
26   Env_114         A   200    114    Env    34  8.463451e+03    
27   Env_114        AA   400    114    Env    23  1.027414e+01    
28   Env_114         B   200    114    Env     6  2.099966e+04    
29   Env_114        CC   200    114    Env     4            NA              
30   Env_114        CG   400    114    Env     1  1.000500e+03    
31   Env_114        CY   400    114    Env    24  3.989823e+01    
32   Env_114         D   400    114    Env    15  3.602360e+01    
33   Env_114         E   200    114    Env     4  7.127227e+03    
34   Env_114         F   400    114    Env    19  3.215944e+02    
35   Env_114         G   200    114    Env     4  3.106407e+03    
36   Env_114    Group1   200    114    Env    17  1.664819e+02    
37   Env_114    Group1   400    114    Env    91  1.020834e+01    
38   Env_114         J   400    114    Env     1  1.123198e+03    
39   Env_114        JJ   200    114    Env     6  1.630015e+03    
40   Env_114        JJ   400    114    Env     3  4.003960e+02    
41   Env_114        KK   200    114    Env     6            NA              
42   Env_114        KK   400    114    Env     3            NA              
43   Env_114    LL/N/O   400    114    Env     8  4.682544e+02    
44   Env_114        MC   400    114    Env    18  5.718000e+03    
45   Env_114         N   200    114    Env     1  8.586049e+03    
46   Env_114         O   200    114    Env    34  1.092983e+04    
47   Env_114      S-SS   200    114    Env     3  7.149000e+03    
48   Env_114        TF   200    114    Env    22  1.880243e+02    
49   Env_114        TF   400    114    Env     1            NA              
50   Env_114         U   200    114    Env     2  9.306367e+02    
51   Env_114        WG   200    114    Env     4            NA              
52   Env_114         Z   200    114    Env    58  2.270314e+02    
53   Env_125         A   200    125    Env   153  9.614530e+03    
54   Env_125         A   400    125    Env     6  2.200686e+02     

它继续> 700行。我想拉出Avg_Biov_cell列中包含NA的行,并将所有数据放入新的数据帧中。

任何建议都将受到赞赏。

2 个答案:

答案 0 :(得分:1)

终于搞定了!!! NAsamples <-subset(Biov_per_genus2,is.na(Avg_Biov_cell))

感谢所有试图提供帮助的人!

答案 1 :(得分:0)

你正在寻找我认为的这种东西。

set.seed(100)
a <- matrix(rnorm(100),10)
a[sample(1:100,5)] <- NA
a <- data.frame(a)

a[!complete.cases(a),]