R条件子集给出奇数输出而没有警告

时间:2017-11-14 20:52:06

标签: r

我正在使用以下代码返回具有以下条件的数据子集:

  1. sample_id包含“BLUE”
  2. result_value字段> result_limit(这两列只包含数字)
  3. table1 <- subset(table1, grepl("*BLUE", sample_id) & (result_value > result_limit))
    

    起初我得到一个糟糕的输出(没有警告,但记录没有遵循第二个条件),然后我意识到result_value&amp; result_limit列被分类为“字符”,而不是“数字”。将它们重新分类为数字后,它工作正常。我的问题是,由于我在返回一个时髦的输出之前对非数字字段执行计算,因此不应该返回警告吗?有没有人知道在字符字段上执行此测试时可能会做些什么奇怪的事情?

1 个答案:

答案 0 :(得分:1)

比较角色是posibble。例如

> 'A' < 'a'
[1] FALSE
> 'a' < 'b'
[1] TRUE
> 'a' > 'b'
[1] FALSE
> '1' > '2'
[1] FALSE
> '1b' > '1a'
[1] TRUE
### check that
> '12311231' > '543242'
[1] FALSE