在表之前和之后将带有元数据的.txt文件导入R

时间:2018-07-04 21:16:23

标签: r

我正在尝试将.txt文件导入R,但是遇到了一些困难。我的文件在文件中的实际数据表之前和之后都有元数据。如何告诉read.table()函数解决这个问题?我已经尝试过使用skip参数,但未成功。如果有人可以指出我的方向,那就太好了!我不是单凭文档就到达那里。

这是指向我的.txt文件的Google云端硬盘链接:https://drive.google.com/file/d/1VG3fBso0s15NGeHnN32CK68bylxrB06t/view?usp=sharing

1 个答案:

答案 0 :(得分:0)

data <- read.table('hackr.txt',header = T, sep =';', skip=22, stringsAsFactors = FALSE)
# Optional: cn   <- colnames(data)

tmp <- as.data.frame(stringr::str_split_fixed(data[,1], "\t",n=Inf))[2:nrow(data),]

我还可以为您清理(删除)一些垃圾列:

for (f in names(tmp)) {
  if (length(unique(tmp[[f]])) == 1) {
    cat(f, "is constant. I am deleting it.\n"); tmp[[f]] <- NULL
}}
head(tmp)
    V1           V2         V3           V4       V5       V6         V7          V8          V9         V10      V11
    2018-05-28   20:38:34   00:00:29.9   32.1     32.1     -.-        -.-         -.-         -.-                 
    2018-05-28   20:38:34   00:00:29.8   32.7     32.4     -.-        -.-         -.-         -.-                 
    2018-05-28   20:38:34   00:00:29.7   31.9     32.2     -.-        -.-         -.-         -.-                 
    2018-05-28   20:38:34   00:00:29.6   34.9     33.1     -.-        -.-         -.-         -.-                 
    2018-05-28   20:38:34   00:00:29.5   70.6     63.6     -.-        -.-         -.-         -.-                 
    2018-05-28   20:38:34   00:00:29.4   70.4     65.7     -.-        -.-         -.-         -.-

如果要保留原始标头,也只需运行可选(带注释)行,并使用相同类型的逻辑对其进行解析。它们的分隔符与表的其余部分不同。