1

这是我的简单文本(名为测试):

  name      sex     age  height  
1 x1        F       18   162
2 x2        M       19   170
3 x3        M       21   178
4 x4        F       22   166
5 x5        F       23   165

>read.table('test', sep='') 

没关系。

>read.table('test', sep=' ')  

Error in scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings,  :   
  line 1 did not have 20 elements  

我想知道为什么。

R的read.table中的''和''有什么区别?请告诉我原因。

4

1 回答 1

6

正如文档中所解释的,默认值的''意思是“任意数量的空白”,而您的第二个选择正好' '意味着一个实际上非常不同的空格。

措辞 (in help(read.table)) 并不理想,但可以完成工作:

 sep: the field separator character.  Values on each line of the
      file are separated by this character.  If ‘sep = ""’ (the
      default for ‘read.table’) the separator is ‘white space’,
      that is one or more spaces, tabs, newlines or carriage
      returns.

你想要默认值,除非你知道你有一个逗号分隔的 csv 文件。

于 2012-07-24T01:22:06.720 回答