我想不出确切的问题是什么,所以如果您对应该的问题有任何建议,请告诉我。

我之前见过一种将数据读入工作脚本文件中带有选项卡式或空格的数据框的方法。例如:

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

假设您要从网站上获取数据,而只想记录一些内容,并且它会以空格等形式消失。我可以打开一个文本文件并保存,然后使用csv读取read.table或类似的文件,但是我确保我已经看过以这种方式读取数据,并且无法终生记得如何...

谢谢

最佳答案

“技巧”是文本连接,作为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来读取“字符”对象,因为它不使用scan

关于r - 如何从脚本/文档文件中将空格分隔的数据读取到数据框中?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7356041/

10-12 17:47
查看更多