Неожиданная ошибка '=' во время поднабора наблюдений в r - PullRequest
0 голосов
/ 29 июня 2018

Я пытаюсь поместить определенные наблюдения в набор данных.

У меня есть четыре столбца: Trial_code, Flanker, RT и correct

Вот фрагмент из моего кадра данных:

Trial_code Flanker   RT correct
1    validspatialcue1       1  621       1
2           doublecue       2  730       1
3               nocue       1  796       1
4   invalidspatialcue       1  511       1
5    validspatialcue3       2  736       1
6               nocue       1  593       1
7    validspatialcue2       2  682       1
8           doublecue       2  690       1
9   invalidspatialcue       1  641       1
10   validspatialcue1       1  476       1
11   validspatialcue3       2  573       1

Я пытаюсь выбрать и создать базу данных наблюдений, которая соответствует следующим критериям

Запись в Trial_code должна быть одной из следующих:

validspatialcue1, validspatialcue2, validspatialcue3

и

Значения в Flanker должны быть равны 1

Для этого я написал следующий код:

data1 <- subset(mydata, Trial_code=="validspatialcue1",Trial_code=="validspatialcue2",Trial_code=="validspatialcue3" & Flanker=1)

Я получаю следующую ошибку:

Error: unexpected '=' in "data1 <- subset(mydata, Trial_code=="validspatialcue1",Trial_code=="validspatialcue2",Trial_code=="validspatialcue3" & Flanker="

Может кто-нибудь помочь с этим, потому что я не уверен, какую ошибку я здесь делаю.

Ответы [ 2 ]

0 голосов
/ 29 июня 2018

Ваш последний оператор использует =, и должен быть == вместо

data1 <- subset(mydata, Trial_code=="validspatialcue1",Trial_code=="validspatialcue2",Trial_code=="validspatialcue3" & Flanker==1)
0 голосов
/ 29 июня 2018

Попробуйте это:

mydata[grepl('^validspatialcue[123]', mydata$Trial_code) & 
       mydata$Flanker == 1, ]

Здесь вы приводите два аргумента. Первый -grepl (...) - ищет в переменном Trial_code следующую строку:

  1. Это начинает строку ("^") со строки "validspatialcue". Начало строки «^» важно для исключения ложных срабатываний с помощью « в validspatialcue».
  2. После 1, 2 или 3 («[123]»).

Второй ищет случаи, когда mydata равен 1.

Знаки «&» предписывают поднабору искать, чтобы предыдущие условия были одновременно истинными.

Не забывайте запятую "," перед закрытием скобок!

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