在R上设置数据时出现问题

时间:2018-08-01 14:23:21

标签: r dataframe

我在对数据集进行子集设置(使用subset()时遇到问题,目的是将数据集分为两部分,当{{1中存在变量时,第一个集合称为“显式” }}。第二个我想称为“隐式”,当image_2_id列中有一个NA时,它与后者相反。

image_2_id

这些是我创建的代码。

selection_id test_id image_1_id image_2_id selection_input  
    1           1      14         12         NA            
    2           2       2         11         NA           
    3           3      18         NA         NA    
    4           4       5          7         NA           
    5           5      11          8         NA         
    6           6      12         NA         NA              

当我使用显式行时,它将完全按照我的需要对数据进行子集化。这个问题与隐式行有关,根据我使用的逻辑参数,该行要么返回0或变量,要么返回整个数据集。

理想情况:

明确

explicit = subset(selections, image_2_id != "NULL")
implicit = subset(selections, image_2_id = "NULL") 

隐含

selection_id test_id image_1_id image_2_id selection_input
 1           1      14         12         NA            
 2           2       2         11         NA
 4           4       5          7         NA           
 5           5      11          8         NA

1 个答案:

答案 0 :(得分:0)

我想你要做的是:

implicit <- subset(selections, is.na(image_2_id))

但是为什么您当前的代码不起作用? ==测试的不是=的相等性-正如本杰明所解释的,NULLNA不同(后者与NaN不同,依此类推)  在R中。