如何从脚本/文档文件中将空格分隔的数据读入数据框?

时间:2011-09-09 00:39:54

标签: r

我无法确切地想出问题应该是什么,所以如果你对它应该有什么建议请告诉我。

我之前见过一种将数据读入工作脚本文件中带标签或白色间隔的数据框的方法。例如:

dat <- SOMETHING(
person1    12    15
person2    15    18
person3    20    14
)

假设您正在从网站抓取数据并且只想表示一些东西,它就像这样带有空格等。我可以打开一个文本文件然后保存它然后用csv读取。或类似的但我确信我已经看到过以这种方式阅读的数据,并且不能为我的生活记住如何......

由于

1 个答案:

答案 0 :(得分:14)

“技巧”是一个文本连接,作为read.table的“file”参数:

dat <- read.table(textConnection("person1    12    15
person2    15    18
person3    20    14"), stringsAsFactors=FALSE
)
str(dat)
'data.frame':   3 obs. of  3 variables:
 $ V1: chr  "person1" "person2" "person3"
 $ V2: int  12 15 20
 $ V3: int  15 18 14

默认的'sep'参数适用于空格分隔。如果您需要制表符分隔,请使用sep =“\ t”(在textConnection调用的结束时间之后)。

编辑:这实际上已合并到基础scan函数的后续修订版中,该函数被赋予“文本”参数。代码现在可以简单地是:

dat <- read.table(text="person1    12    15
    person2    15    18
    person3    20    14", stringsAsFactors=FALSE
    )

readLines函数仍然需要使用textConnection来读取'character'对象,因为它不使用scan