【发布时间】:2013-09-18 18:23:50
【问题描述】:
这里的目标是将几个文件的前 6 列连接到 R 中的一个数据框中。 我对为什么方法(1)有效但方法(2)不起作用感到困惑。 对我来说,这两种方法应该是等价的。
调试的答案或提示都非常受欢迎。
方法(一)
ret <- sapply(fn, function(x) { (read.table(x, header = FALSE)) })
ret <- lapply(ret, function(x) {x[, 1:6]})
方法(1)正确输出:
> 头(退) $`../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方法(二)
ret <- sapply(fn, function(x) { (read.table(x, header = FALSE))[, 1:6]})
方法(2)错误输出:
> 头(退) ../pool.11421.poolFile ../pool.11422.poolFile ../pool.11423.poolFile V1 整数,23 整数,48 整数,48 V2字,23字,48字,48字 V3字,23字,48字,48字 V4 整数,23 整数,48 整数,48 V5 整数,23 整数,48 整数,48 V6字,23字,48字,48字【问题讨论】:
-
在 (2) 中向 sapply 添加 simple=FALSE 会发生什么?