我正在尝试从Internet网址将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_tsv
命令。
read_tsv(data.txt)
但是结果并不令人满意,因为它仅产生一个网格列,并且似乎没有检测到任何制表符分隔列。
即使尝试使用单个空格也无法解决问题
read_delim(data.txt, delim = " ")
我应该如何解决未知间距问题?
注意原始文件在这里: https://ipad.fas.usda.gov/lakes/images/lake0534.TPJOJ.2.smooth.txt
答案 0 :(得分:0)
如果您查看文本文件中的数据并查看其中的符号,则可以看到列之间的分隔符是一个空格/多个空格。
如果要使用readr,则需要使用该选项以空格为单位读入数据。这就是read_table
:
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
只需使用基数R的read.table
:
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