У меня есть следующие данные:Объединение данных из строк на основе условий или последовательностей
Data <- data.frame(Project=c(123,123,123,123,123,123,124,124,124,124,124,125,125,125,126,126),
Value=c(1,4,7,3,8,9,8,3,2,5,6,2,2,1,8,3),
OldValue=c("","Open","In Progress","Complete","Open","In Progress","Complete","Open","In Progress","System Declined","In Progress","","Open","In Progress","In Progress",""),
NewValue=c("Open","In Progress","Complete","Open","In Progress","Complete","Open","In Progress","System Declined","In Progress","Complete","Open","In Progress","Complete","","In Progress"))
Data$First <- ifelse(((Data$OldValue==""|Data$OldValue=="Complete"|Data$OldValue=="System Declined")&Data$NewValue=="Open"),Data$Value,NA)
Data$Second <- ifelse(((Data$OldValue=="Open"|Data$OldValue=="Complete"|Data$OldValue=="System Declined")&Data$NewValue=="In Progress"),Data$Value,NA)
Data$Third <- ifelse(((Data$NewValue=="Complete"|Data$NewValue=="System Declined")&Data$OldValue=="In Progress"),Data$Value,NA)
для каждого уникального проекта ID, я хочу, чтобы объединить первое, второе & Третьи значения в одну строку , Я только хочу, чтобы это сделать, если значения в столбце NEWVALUE следуют либо из последовательностей ниже:
Open, In Progress, Complete или Open, In Progress, система Отклонено
Так Проект 123 будет иметь два ряды данных, а также проекты 124 & 125. Строки 10 и 11 будут исключены, так как они не соответствовали вышеприведенной последовательности.
Что может быть проще всего для этого?
Спасибо за помощь, но я столкнулся с проблемой при применении этого к более крупному набору данных. Я понял, что есть несколько случаев, когда отношения OldValue, NewValue не рассматриваются в моей исходной логике (Data $ First, Data $ Second, Data $ Third). Я обновил исходный код в вопросе, чтобы отразить точный экземпляр, о котором я говорю. Когда я повторно запускаю код с новыми данными, я получаю сообщение об ошибке «R Session Aborted. R столкнулся с фатальной ошибкой. Сессия была прервана». – Dfeld
@Dfeld Ваш размер? Я посмотрю ваш вопрос позже, так как я должен сейчас подготовиться к своей работе. Надеюсь, вы не возражаете. – jazzurro
Есть около 10 000 строк, импортированных из файла csv. Я тестировал его на нескольких тысячах строк успешно, но экземпляры, подобные тому, которые я объяснял выше, и добавленные в код, вызывают R сбой. Еще раз спасибо джаззурро. No rush – Dfeld