目录中的选项卡分隔有22个文本文件。实际上,我只需要每个文本文件的第6列,然后将它们合并到一个文件中。当我在下面写下这些命令时;
filenames = list.files()
my.list = lapply(X = filenames, FUN = function(x) {read.table(x, sep = "\t")[,6]})
my.df <- do.call("cbind", my.list)
这些命令的结果;我有一个包含22列的my.df文件,但这些列中的值奇怪地不是来自txt文件。我找不到这些数据的来源。
答案 0 :(得分:1)
读取文件时,第6列将转换为因子。我们可以将字符列保留为字符:
my.list = lapply(X = filenames, FUN = function(x) {
read.table(x, sep = "\t", stringsAsFactors = FALSE)[,6]})
my.df <- do.call("cbind", my.list)
或者我们可以在将第6列子集化时将data.frame保持为data.frame:
my.list = lapply(X = filenames, FUN = function(x) {
read.table(x, sep = "\t")[, 6, drop = FALSE]})
my.df <- do.call("cbind", my.list)