Я новичок в R, и этот форум так извиняется за довольно фундаментальный вопрос.R: Найти определенное значение для каждой строки из поднабора столбцов
У меня есть группа столбцов (т.е. переменные, потому что это кадр данных), где все имена кодов начинаются с одного и того же имени, но заканчиваются на отдельное число, скажем: variable_0, variable_1 и т. Д. До 12.
Для каждого из этих столбцов каждая строка содержит числа, снова от нуля до двенадцати.
Я заинтересован в поиске (для каждой строки) значения, при котором тянущаяся номер ColName соответствует значение этой конкретной переменной:
v_0 v_1 v_2 v_3
1 2 2 2
1 2 3 3
В этом примере, что я хотел бы иметь - новая переменная x, равная 2 для строки 1 (потому что v_i = i только для i = 2) и 3 для строки2.
В идеале, код также будет содержать решение для случая, когда существует несколько совпадений для каждой строки: создайте переменную y, которая равна единице, если число совпадений превышает одно и ноль в противном случае; установите x в первое совпадение.
Помощь очень ценится! Спасибо!
Хороший, но вы действительно должны объяснить, что каждая часть кода делает – nico
Done с помощью примеров;) –
Это очень полезно, спасибо. Просто для тех, кого это интересует, я немного изменил код, потому что на самом деле меня интересует только это для некоторого подмножества переменных: 'myvarlist <- paste (" var_ ", 0:12, sep =" ")' 'trail <- as.numeric (gsub (". * _ ([0-9] *) "," \\ 1 ", имена (df [myvarlist])))' 'df $ x <- apply (df, 1, function (u) if (all (trail! = u)) NA else trail [match (T, trail == u)]) ' – JBDonges