2015-06-11 6 views
1

я создал таблицу «examres» как этогона основе значения в одном столбце изменить значение в другом столбце

  names marks result 
1  dinesh 60 pass 
2  aiysha 70 pass 
3   ravi 40 fail 
4  rajesh 55 pass 
5  achyuthy 80 pass 
6  snigdha 30 fail 
7  mounica  0 pass 
8     55 pass 
9     0 fail 
10  mourya  0 pass 
11 deepa sinde 25  
12 hima sekhar 55 pass 
13    30 fail 
14  dhatri 60  

В приведенной выше таблице, я хочу, чтобы изменить столбец результата на основе «метки» колонок и мое состояние отметки < 50 "глючить" еще "пропуск"

я использовал:

ifelse(examres$marks<50,examres$result<-"fail",examres$result<-"pass") 

но не работает.

+0

Таким же образом вы можете предложить мне, как сделать пустые значения в столбце «examres $ names» для замены «NULL», это мне очень помогло бы – Dinesh

+0

@ Dinesh пустые значения в столбце? – zx8754

+1

Лучше заменить пустые строки '' '' на 'NA', поскольку' NULL' не может использоваться в столбцах vector или data.frame, если это не строка символов (что делает ее не лучше, чем '' '') – akrun

ответ

2

Это было почти правильно, попробуйте следующее:

examres$result <- ifelse(examres$marks<50,"fail","pass") 

IfElse - Описание

IfElse возвращает значение с той же формой, тест, который заполняется с элементами, выбранными из да или нет в зависимости от того, является ли элемент теста TRUE или FALSE. не

Использование
IfElse (тест, да, нет)

Чтобы изменить имена NA, когда он пустой - "":

examres$names[examres$names == ""] <- NA 

Примечание используйте na.strings варианты, когда reading in the file. Тогда мы бы вообще избежали проблемы с НС.

+2

Другие опции включают 'as.character (factor (examres $ marks <50, labels = c ('pass', 'fail')))' или 'c ('pass', 'fail') [(examres $ marks < 50) + 1L] ' – akrun

+0

@Pascal, так как он трудно сказать, что квалифицируется как * empty *. Но логика в основном проста и то же самое, найти пустое и заменить на' NA'. – zx8754

+1

Если есть пробелы, тогда ' examres $ names [grep ('^ \\ s * $', examres $ names)] <- NA' – akrun

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