read.delim/delim2这两个函数是专门用来处理以tab分隔数据的文件的,delim可用来读取小数点是“.”的数据,delim2则用来处理小数点是“,”的数据,所以这两个函数与read.csv/csv2唯一不同的就只是参数sep="\t"。聪明的你很可能已经想到了如果使用这两个函数的默认设置来读取以逗号分隔的数据会发生什么。函数的默认参数会在原始数据中不断地寻找tab分隔符,找不到的话就会如同1.1.1节里面演示的那样,将所有变量都挤在一列里。read.delim/delim2示例代码如下:
> read.delimfunction (file, header = TRUE, sep = "\t", quote = "\"", dec = ".", fill = TRUE, comment.char = "", ...) read.table(file = file, header = header, sep = sep, quote = quote, dec = dec, fill = fill, comment.char = comment.char, ...)<bytecode: 0x000000001a28a710><environment: namespace:utils>
无论是read.csv还是read.delim,帮助文档中的参数格式都是相同的。从上面的代码结果中可以看出,read.delim执行的其实是函数read.table。其实这4个函数都只是它们的母函数read.table的变形罢了。这样做的原因有可能是因为在RStudio出生之前,read.csv/delim比read.table更容易记住,也有可能只是Henrik Bengtsson(utils包的笔者)觉得这样做很酷。具体是什么原因已经不再重要,会用这些函数才是第一要务。