У меня есть немного кода, который объединяет данные:
pivot.present.RT <- with(
subset(correct.data, relevantTarget == 1),
aggregate(
data.frame(RT = RT),
list(
identifier = identifier,
set.size = relevantSS,
stimulus = stimulus
),
mean
)
)
Я хотел бы сделать это более гибким, указав различные имена столбцов, чтобы заменить "релевантный SS".Я думал, что смогу сделать это с помощью eval:
set.size.options <- c("relevantSS","irrelevantSS")
pivot.present.RT <- with(
subset(correct.data, relevantTarget == 1),
aggregate(
data.frame(RT = RT),
list(
identifier = identifier,
eval(parse(text = paste("set.size = ", set.size.options[relevant.index]))),
stimulus = stimulus
),
mean
)
)
Однако, когда я запускаю второй бит кода, хотя он правильно агрегирует данные, я теряю имя переменной "set.size".Если я вызываю str, я получаю вывод примерно так:
'data.frame': 48 obs. of 4 variables:
$ identifier: Factor w/ 9 levels "aks","ejr","ejr3",..: 1 2 4 5 6 7 8 9 1 2 ...
$ Group.2 : int 4 4 4 4 4 4 4 4 8 8 ...
$ stimulus : Factor w/ 2 levels "moving","stationary": 1 1 1 1 1 1 1 1 1 1 ...
$ RT : num 1161 1026 1257 1264 1324 ...
Если я запускаю оригинальный код, он правильно определяет вторую переменную как "set.size".
Любая идеямне здесь не хватает?