在R中读取.dat文件的问题

时间:2019-05-07 10:31:40

标签: r read.table read.csv

我在读取此文件时遇到大问题:

https://gofile.io/?c=0aID8j

当我第一次阅读它时,它是一个.csv:

files = list.files(pattern=".csv")
df = read.csv(files[1],header = TRUE, sep=";")

然后我这样保存它(这是链接中的文件)

file_name <- paste ("df.dat", col="", sep="")
write.table(df, file_name, row.names=TRUE, col.names=TRUE)

现在,我无法再次阅读它。这是我已经尝试过的:

files = list.files(pattern="df")
df = read.table(files[1],header = TRUE, sep=",")
df = read.table(files[1],header = TRUE, sep=";")
df = read.table(files[1],header = TRUE, sep="")
df = read.table(files[1],header = TRUE, sep=".")
df = read.table(files[1],header = TRUE)

df = read.csv(files[1],header = TRUE, sep=";")
df = read.csv(files[1],header = TRUE, sep=",")
df = read.csv(files[1],header = TRUE, sep="")

有什么办法解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

在将csv转换为dat时似乎出现了问题。 您可以使用read_table

读取csv格式的.dat文件。

所以在您的情况下:read.table("AUG-2017-NO2.dat", skip=1, row.names=1)

您必须跳过一行,因为列标题少于列。因此,您可以尝试正确保存csv(已在注释中修复了该问题;问题是时间戳),也可以在以后使用以下方式更改列名:

colnames(df) <- c("Date", "Time", "BourgesPlatz", "Karlstraße", "Königsplatz", "LfU")

header=TRUE参数在您的示例中不起作用,因为标头名称少于列标题