у меня есть 88 Вкладка отделенных файлов, которые мне нужно импортировать в R.Список для dataframe с использованием имен в качестве значений столбца в R
Они названы «Study-1-12»
- Исследования: название исследования
- 1: Заголовок ID
- [1] 2: экспериментальный день (1 или 2)
- 1 [2]: исследование (1 или 2)
Данные в каждом из них выглядит как
START: dd.mm.yyy hh:mm:ss
WAITING 3780 ms REACTION 1230 ms
WAITING 9700 ms REACTION 377 ms
WAITING 5538 ms REACTION 310 ms
WAITING 4599 ms REACTION 361 ms
WAITING 9579 ms REACTION 338 ms
END: dd.mm.yyy hh:mm:ss
До сих пор я импортировал все из них в списке и кратко каждый из них, так что конечный результат представляет собой таблицу с двумя колонками «ожидания» и «реакция» и с одним средним значением.
# Load filepaths and names
filepath <- list.files(path = "rawdata/", pattern = "*.dat", all.files = TRUE, full.names = TRUE) # Load full path
filenames <- list.files(path = "rawdata/", pattern = "*.dat", all.files = TRUE, full.names = FALSE) # load names of files
# load all files into list with named col headers
ldf <- lapply(filepath, function(x) read_tsv(file = x, skip = 1,
col_names = c("waiting", "valueW", "ms", "ws", "reaction", "valueR", "ms1")))
names(ldf) <- filenames # rename items in list
# select only relevant cols and do the math
ldf <- lapply(ldf, function(x) x %>%
select(waiting, valueW, reaction, valueR) %>%
filter(waiting == "WAITING") %>%
summarise(waiting = mean(valueW), reaction = mean(valueR))
)
Теперь то, что я хотел бы сделать, это создать фрейм данных с колонками на основе имени файла (как указано выше: изучение-1-12):
- ID: первый 1
- ехра: 1 или 2
- пробы: 1 или 2
- ожидания: значение из каждого кадра данных в списке
- реакция: значение из каждого кадра данных в списке
Любой способ сделать это в R?
Просьба представить небольшой воспроизводимый пример и ожидаемый выход – akrun
SO ждет данных .. –
Используйте 'bind_rows (СОЛ, .id =«Вкладка»)', а затем использовать 'mutate' для извлечения необходимой информации из 'tab', используя строковые манипуляции. – Axeman