Весьма похоже на подход Керри Джексона, но с использованием ifelse
в базе R. Я также с самого начала преобразовал ваш x$HospitalNumber
из фактора в персонаж, предполагая, что это именно то, что вам действительно нужно:
x[2] <- as.character( x[ , 2 ] )
x$CRN <- ifelse( grepl( "^\\d{9}[[:alpha:]]$", x$HospitalNumber) , x$HospitalNumber, "" )
x$TIT <- ifelse( x$CRN != "", "", x$HospitalNumber )
[ 115] дает вам
> x
LocationCode HospitalNumber DisciplineName CRN TIT
1 ESC3 701190923R ESC Biochemistry 701190923R
2 RIECAA6 2905451068 RIE Haematology 2905451068
3 SJHMAU 700547389X SJH Biochemistry 700547389X
4 RIE104 AN11295201 RIE Biochemistry AN11295201
5 SJH11 1204541612 SJH Biochemistry 1204541612
6 SJHAE 104010665 WGH Biochemistry 104010665
7 RIEAE1 800565884R ESC Biochemistry 800565884R
8 WGH54 620063158W WGH Biochemistry 620063158W
9 RIE205 600029720K SJH Biochemistry 600029720K
10 GSBROB 1112391223 RIE Haematology 1112391223
Я не рекомендую удалить старый код новых Вас проекта. Это действительно напрашивается на неприятности. В лучшем случае это могло бы убрать вещи для Вас, но, вероятно, не поможет компилятору или Вашему клиенту очень. Во всех кроме лучшего случая что-то повредится.
Тем не менее я понимаю, что это действительно не отвечает на Ваш вопрос. Для этого я указываю на Вас на этот связанный вопрос:
Существует ли пользовательское правило FxCop, которое обнаружит неиспользованные Открытые методы?
Рассмотрите код тщательно, прежде чем Вы сделаете это. Проверьте на любое использование отражения, поскольку классы могут быть загружены, и методы могут быть динамично вызваны во времени выполнения, не зная во время компиляции, которые они.
Кажется, что это - одна из предложенных функций функций следующей версии Resharper. Это еще не помогает, но надо надеяться EAP просто за углом.
Будьте осторожны с этим - возможно, что можно удалить вещи, которые не нужны в непосредственной близости кода, Вы продолжаете работать, но Вы рискуете удалять интерфейсных участников, на которых другие приложения могут полагаться без Вашего ведома.