Я знаю, что этот вопрос задан ранее, но ответы на предыдущие сообщения, похоже, не могут решить мою проблему.объединить несколько файлов с разными строками в R
У меня есть десятки файлов с разделителями табуляции .txt. Каждый файл имеет два столбца («pos», «score»). Я хотел бы скомпилировать все столбцы «score» в один файл с несколькими столбцами. Количество строк в каждом файле меняется, и они не имеют отношения к компиляции.
Если кто-то может направить меня на то, как это сделать, желательно в R, было бы очень полезно.
В качестве альтернативы, моя конечная цель - прочитать медианное и среднее значение столбца «оценка» из каждого файла. Поэтому, если это может быть выполнено, с или без компиляции файлов, это будет еще более полезно.
Спасибо.
UPDATE:
Как привлекательным, как идея личного кода ниндзя, я понимаю, это будет оставаться фантазии. Извините за то, что не явственно.
Я попытался lapply и уменьшить, например,
> files <- dir(pattern="X.*\\.txt$")
> File_list <- lapply(filesToProcess,function(score)
+ read.table(score,header=TRUE,row.names=1))
> File_list <- lapply(files,function(z) z[c("pos","score")])
> out_file <- Reduce(function(x,y) {merge(x,y,by=c("pos"))},File_list)
, которую я знаю, на самом деле не имеет смысла, учитывая, что я есть переменные номера строк. Я также попробовал plyr
> files <- list.files()
> out_list <- llply(files,read.table)
Как и cbind и rbind. Обычно я получаю сообщение об ошибке, потому что номера строк не совпадают, или я просто получаю все данные «оценки», скомпилированные в один столбец.
Совет на аналогичные должности (например, Merging multiple csv files in R, Simultaneously merge multiple data.frames in a list и Merge multiple files in a list with different number of rows) не был полезен.
Надеюсь, это прояснит ситуацию.
Стефан - ты мог пожалуйста, покажите нам, что вы пробовали раньше, и что не сработало? Ваша проблема может быть решена в R довольно легко, но, как было сказано, она очень расплывчата. Пользователи SO не являются вашими персональными кодами ninjas, которые пишут код для вас. –
? Слить. как установка all = FALSE (по умолчанию) не делает то, что вы хотите? –
@Jake Чтобы объединить файлы, я должен был бы их перечислить один за другим, чего я пытаюсь избежать. – stephanhart