read.table 无法导入 .dat

read.table not working for importing a .dat

我正在尝试使用 read.table 命令从 Internet 上的 .dat 文件导入数据集。我通常在格式化文件时没有问题,例如:

A B
1 2
3 4

但是这个数据集是格式化的

A B A B
1 2 3 4
5 6 7 8

(您可以在此处找到我遇到问题的数据集:https://www2.isye.gatech.edu/~jeffwu/book/data/BrainandBodyWeight.dat

我当前的代码行是:

Data2 = read.table("https://www2.isye.gatech.edu/~jeffwu/book/data/BrainandBodyWeight.dat", header = TRUE)

我得到的错误是:

Error in scan(file = file, what = what, sep = sep, quote = quote, dec = dec, : line 1 did not have 12 elements

问题是 header 行中有空格,因此只需使用 skip = 1 跳过即可。

从那里,我们可以使用重复逻辑向量 c(TRUE, FALSE)c(FALSE, TRUE).

提取偶数行和奇数行

数据的最后一行有一些空值,所以删除带有complete.cases()的那些。

data <- read.table("https://www2.isye.gatech.edu/~jeffwu/book/data/BrainandBodyWeight.dat",
                   header = FALSE, fill = TRUE, skip = 1)

result <- data.frame(Body.Wt = unname(unlist(data[,c(T,F)])),
                     Brain.Wt = unname(unlist(data[,c(F,T)])))

result <- result[complete.cases(result),]
head(result)
  Body.Wt Brain.Wt
1   3.385     44.5
2   0.480     15.5
3   1.350      8.1
4 465.000    423.0
5  36.330    119.5
6  27.660    115.0