我正在尝试将.txt文件导入R,但是遇到了一些困难。我的文件在文件中的实际数据表之前和之后都有元数据。如何告诉read.table()函数解决这个问题?我已经尝试过使用skip参数,但未成功。如果有人可以指出我的方向,那就太好了!我不是单凭文档就到达那里。
这是指向我的.txt文件的Google云端硬盘链接:https://drive.google.com/file/d/1VG3fBso0s15NGeHnN32CK68bylxrB06t/view?usp=sharing
答案 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 -.- -.- -.- -.-
如果要保留原始标头,也只需运行可选(带注释)行,并使用相同类型的逻辑对其进行解析。它们的分隔符与表的其余部分不同。