2015-03-30 2 views
0
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. Если вы не получили пройденную оценку, это говорит.создавать логические значения в R

Мне неинтересно, какой у вас был класс, но только если вы провалились или прошли.

Как логические значения я хотел бы иметь:

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(), как я должен сделать, чтобы получить код правильно?

ответ

2

Вы можете просто использовать is.na(), чтобы проверить, есть ли grade is NA.

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

Это добавляет столбец к кадру данных, что это TRUE когда grade не отсутствующий и FALSE иначе.

Спасибо Ричарду Скривен за полезный стилистический отзыв!

+1

'с()' или '$', совершить один :) Или 'внутри (как, прошло <- is.na (класс!))' –

+0

@RichardScriven: Спасибо за ваш вклад, я ценю это. Обновлен, чтобы использовать ваш совет. По какой-то причине я всегда забываю о 'inside()'. –

Смежные вопросы