Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 导入具有奇怪列间距的文本文件_R_Import - Fatal编程技术网

R 导入具有奇怪列间距的文本文件

R 导入具有奇怪列间距的文本文件,r,import,R,Import,我正试图从internet url将txt文件的四列导入数据框。该文件具有以下数据结构: 20080713 20 28 999.99 20080723 17 50 -0.21 20080802 15 49 -0.21 20080812 13 47 -0.23 20080822 11 46 -0.27 20080901 9 44 -0.31 20080911 7 43 -0.38 特别是我正在求助于readr软件包。由于我认为文件是以制表

我正试图从internet url将txt文件的四列导入数据框。该文件具有以下数据结构:

20080713 20 28    999.99
20080723 17 50     -0.21
20080802 15 49     -0.21
20080812 13 47     -0.23
20080822 11 46     -0.27
20080901  9 44     -0.31
20080911  7 43     -0.38
特别是我正在求助于
readr
软件包。由于我认为文件是以制表符分隔的,所以我使用了
read\u tsv
命令

read_tsv(data.txt)
但是,结果并不令人满意,因为它只生成一个网格列,并且似乎没有检测到任何制表符分隔列

即使尝试使用单个空间也无法找到解决方案

read_delim(data.txt, delim = " ")
我应该如何处理未知的间距问题

注意:原始文件位于此处:

如果查看文本文件中的数据并查看其中的符号,可以看到列之间的分隔符是一个空格/多个空格

如果要使用readr,则需要使用基于空格的选项来读取数据。这是一个简单的
read\u表

lakes <- read_table("lake0534.TPJOJ.2.smooth.txt", skip = 12, col_names = FALSE)
head(lakes)

# A tibble: 6 x 4
        X1    X2    X3    X4
     <int> <int> <int> <dbl>
1 20080723    17    50 -0.21
2 20080802    15    49 -0.21
3 20080812    13    47 -0.23
4 20080822    11    46 -0.27
5 20080901     9    44 -0.31
6 20080911     7    43 -0.38
lakes <- read.table("lake0534.TPJOJ.2.smooth.txt", skip = 12, header = FALSE)
head(lakes)
        V1 V2 V3    V4
1 20080723 17 50 -0.21
2 20080802 15 49 -0.21
3 20080812 13 47 -0.23
4 20080822 11 46 -0.27
5 20080901  9 44 -0.31
6 20080911  7 43 -0.38

不过,谢谢“data.table::fread()”可以工作,而“read_tsv”不能正确拆分列。