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

nzc*_*ops 6 r

我想不出这个问题到底应该是什么,所以如果你对它应该有什么建议请告诉我.

我之前已经看到过将数据读入工作脚本文件中带标签或白色间隔的数据框的方法.例如:

dat <- SOMETHING(
person1    12    15
person2    15    18
person3    20    14
)
Run Code Online (Sandbox Code Playgroud)

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

谢谢

42-*_*42- 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
Run Code Online (Sandbox Code Playgroud)

默认的'sep'参数适用于空格分隔.如果需要制表符分隔,则使用sep ="\ t"(在textConnection通话结束后).

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

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

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