2015-05-15 3 views
-2

данных Ввод пробы (хранится в формате CSV в рабочем каталоге):Используя операторы R Уплотненный IfElse для сравнения двух переменных строк

EMPLID,From_DeptCode,FromDept,To_DeptCode,To_Dept,TransactionTypeCode,TransactionType,EffectiveDate,ChangeType 
0239583290,21,Sales,43,CustomerService,10,Promotion,12/12/2012 
1230495829,21,Sales,21,Sales,10,Promotion,9/1/2013 
4059503918,93,Operations,93,Operations,13,Demotion,11/18/2014 
3040593021,19,Headquarters,23,International,11,Reorg,12/13/2011 
7029406920,15,Marketing,84,Development,19,Reassignment,1/5/2010 
2039052819,19,Headquarters,19,Headquarters,10,Promotion,4/15/2015 

Код:

Transfers <- read.csv(file="Transfers.csv", head=TRUE, sep=",",colClasses=c(NA,NA,NA,NA,NA,NA,NA,"Date",NA)) 

Transfers$ChangeType <- ifelse(Transfers$From_DeptCode == Transfers$To_DeptCode, "No Change", ifelse(Transfers$TransactionType == "Reorg", "Reorg", "Transfer")) 

Transfers2 <- subset(Transfers, ChangeType != "No Change") 

print(Transfers2) 

Ожидаемый результат:

EMPLID,From_DeptCode,FromDept,To_DeptCode,To_Dept,TransactionTypeCode,TransactionType,EffectiveDate,ChangeType 
0239583290,21,Sales,43,CustomerService,10,Promotion,12/12/2012,Transfer 
3040593021,19,Headquarters,23,International,11,Reorg,12/13/2011,Reorg 
7029406920,15,Marketing,84,Development,19,Reassignment,1/5/2010,Transfer 

Актуально:

> print(Transfers2) 
Error in print(Transfers2) : object 'Transfers2' not found 

В ущерб, почему это происходит.

+0

Невозможно воспроизвести. Я скопировал ваши входные данные образца в файл 'Transfers.csv', выполнил ваши строки, и все работает. – nicola

+0

Если вы получили сообщение о том, что «Transfers2 не найден», это означает, что произошла ошибка в более ранней строке кода. Насколько я могу сказать, что ваш код для чтения файлов csv не совпадает с данными примера, которые вы опубликовали. – MrFlick

+0

@MrFlick Что в моем коде заставляет вас думать, что вы видите, что не соответствует данным? – bw1984

ответ

-1

Так что я нашел мой вопрос ..

Для того, чтобы получить мой код, чтобы работать, я должен был поместить мой курсор в конце строки каждого блока кода и запускать их по отдельности в порядке.

Я проскакивал в нижней части сценария и помещал курсор под последней строкой кода и запускал его и получал ошибку.

Почему мне необходимо запускать каждый блок кода по одному с помощью курсора в самом блоке?

+0

Это не ответ. – user227710

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