Я пытаюсь использовать определенный порядок переменной в наборе данных - валентность и - по существу копировать и вставлять строки в новый набор данных. Итак, для каждого subID для каждой валентности = 0, если следующая валентность = -1, скопируйте эту строку в новый набор данных, называемый «sequence». Проблема заключается в том, что пробный заказ был рандомизирован, поэтому последовательность для каждого субидианта различна (в противном случае я, по крайней мере, мог бы написать большой блочный скрипт на основе пробного номера). Одна из важных вещей, о которых мне не удалось изначально упомянуть: для каждого субидиза будет различное количество значений, поэтому число строк даже не будет в пределах subID.Повторная организация данных для расчета эффектов последовательности
Подобно тому, как пример того, что данные выглядит следующим образом:
SubID location valence reaction_time
1 1 0 500
1 1 -1 600
1 0 1 400
1 0 0 500
2 1 1 700
2 1 0 400
2 0 -1 700
2 0 0 400
Я довольно много новичок в такого рода вещи (я предполагаю, что это должна быть петля?) И Дон» t имеют твердую отправную точку, поэтому любая помощь была бы чрезвычайно оценена.
Спасибо!
Привет, я думаю, что вижу (вроде), как работает скрипт. Но одна вещь, о которой я не упоминал, заключается в том, что количество строк для каждого идентификатора subID отличается. Я подозреваю, что поэтому я получил эту ошибку?: 'Ошибка в tapply (seq_len (79155L), list (' factor (data $ SubID) '= integer (0)),: аргументы должны иметь одинаковую длину' – Mik
Hmm, это не имеет значения (я попробовал это, изменив ваш набор данных игрушек). «Длина (коэффициент (данные $ SubID)) == nrow (data)'? (Кроме того, я отредактировал ответ, потому что я только что понял «фактор» (...) 'является посторонним.) –
' length (factor (data $ SubID)) == nrow (data) 'возвращает FALSE – Mik