Цель состоит в том, чтобы объединить первые 6 столбцов из нескольких файлов в кадр данных в R. Я озадачен тем, почему метод (1) работает, но метод (2) не работает. Для меня оба метода должны быть эквивалентными.В R, как подмножество данных в sapply?
Ответы или подсказки для отладки очень приветствуются.
Метод (1)
ret <- sapply(fn, function(x) { (read.table(x, header = FALSE)) })
ret <- lapply(ret, function(x) {x[, 1:6]})
Метод (1) правильные выходы:
> head(ret) $`../pool.11421.poolFile` V1 V2 V3 V4 V5 V6 1 1 M5132 ACAGTG 11421 351 1,2,3,4,5,6,7,8 2 2 M6764 ACTGAT 11421 351 1,2,3,4,5,6,7,8 3 3 M5597 AGTCAA 11421 351 1,2,3,4,5,6,7,8 4 4 M5636 AGTTCC 11421 351 1,2,3,4,5,6,7,8 5 5 M2463 ATCACG 11421 351 1,2,3,4,5,6,7,8 6 6 M5792 ATGTCA 11421 351 1,2,3,4,5,6,7,8 7 7 M6799 ATTCCT 11421 351 1,2,3,4,5,6,7,8
Метод (2)
ret <- sapply(fn, function(x) { (read.table(x, header = FALSE))[, 1:6]})
Метод (2) неправильные выходы :
> head(ret) ../pool.11421.poolFile ../pool.11422.poolFile ../pool.11423.poolFile V1 Integer,23 Integer,48 Integer,48 V2 Character,23 Character,48 Character,48 V3 Character,23 Character,48 Character,48 V4 Integer,23 Integer,48 Integer,48 V5 Integer,23 Integer,48 Integer,48 V6 Character,23 Character,48 Character,48
Что происходит, когда вы добавляете упрощать = FALSE в sapply в (2)? – mengeln