将扩展名为.data的文件读入R中

时间:2014-01-13 21:40:59

标签: r dataset

我需要为我的作业将数据文件读入 R 。您可以从以下站点下载它。

http://archive.ics.uci.edu/ml/datasets/Acute+Inflammations

数据文件以扩展名.data结尾,这是我以前从未见过的。我尝试了read.table等,但无法正确读入 R 。有人可以帮帮我吗?

4 个答案:

答案 0 :(得分:3)

从您的链接:

  

数据位于ASCII文件中。属性由TAB分隔。

因此,您需要将read.table()sep = "\t"

一起使用
  

- 属性行:例如,'35,9不否否是是是否'其中:'35,9'患者的温度'否'发生恶心   '不'腰疼'是'尿液推(连续需要排尿)   '是'排尿疼痛'是'烧伤尿道,瘙痒,肿胀   尿道出口'是'决定:膀胱炎症   '不'决定:肾盂肾炎来源

看起来它也使用逗号作为小数,因此在dec = ","内也指定read.table()

看起来您需要手动输入列标题,但链接会定义它们。

请确保您在下方看到@Gavin Simpson的评论,以清理此数据集的其他未记录的“功能”。

答案 1 :(得分:3)

这是一个UTF-16小端文件,开头有一个字节顺序标记。除非您指定正确的编码,否则read.table将失败。这适用于MacOS。小数用逗号表示。

read.table("diagnosis.data", fileEncoding="UTF-16", dec=",")

      V1  V2  V3  V4  V5  V6  V7  V8
1   35.5  no yes  no  no  no  no  no
2   35.9  no  no yes yes yes yes  no
3   35.9  no yes  no  no  no  no  no

答案 2 :(得分:3)

你有一个UTF-16LE文件,Windows上的a.k.a Unicode(如果你在那个操作系统上)。 试试这个

f <-file("http://archive.ics.uci.edu/ml/machine-learning-databases/acute/diagnosis.data", open="r" ,encoding="UTF-16LE")
data <- read.table(f, dec=",", header=F)

虽然尝试@Gavin Simpson所说的可能有所帮助,但您可以添加标题并保存文件

答案 3 :(得分:0)

以上回复非常有用。 有点棘手的方法是,您可以将文件名或文件类型重命名为.csv格式。 然后,使用read.csv命令即可完成其余工作。