在R中创建逻辑值

时间:2015-03-30 14:16:51

标签: r boolean

this is my head(both):

     gender  prog     start          grade    omreg
1     man     FRIST    2012-09-21     <NA>    FALSE
2     man     FRIST      <NA>        <NA>     FALSE
3    woman      FRIST    <NA>         <NA>     FALSE
4    woman      FRIST   2012-01-11    <NA>    FALSE
5    woman      NMFIK     <NA>        <NA>    FALSE
6     man     FRIST    2014-06-12       A     FALSE
7    woman    FRIST      2014-06-12     B     FALSE               
8    woman    FRIST      2014-06-12     A     FALSE
9    woman    FRIST      2014-06-12     A     FALSE
10   woman    FRIST      2014-06-12     E     FALSE

我需要帮助:要在“等级”中创建列值。列为逻辑。 材料中的等级为A-E级。如果你还没有收到及格分数,那就说了。

对我来说,你得到什么分数并不感兴趣,但只有当你失败或过世时才会感兴趣。

作为我想要的逻辑值:

TRUE= grades from A-E (if you passed). I would like ti call TRUE for "yes"
FALSE = <NA> (if you failed) and i want to call it "no"

我测试了as.logical(),我该如何才能正确使用代码?

1 个答案:

答案 0 :(得分:2)

您只需使用is.na()来检查grade是否为NA

within(both, passed <- !is.na(grade))

TRUE没有丢失时,这会向grade FALSE添加一列,否则会{{1}}。

感谢Richard Scriven提供有用的风格提示!