如何读取带有换行符分隔数字的文本文件并将其存储为数字向量?

时间:2017-05-27 16:14:18

标签: r

我有一个文本文件myfile.txt,如下所示:

10
20
30
40

我尝试使用以下内容在R加载

nums <- read.csv('myfile.txt', header=FALSE);

然而,这会返回一个列表。我想要的是相当于:

nums <- c(10, 20, 30, 40);

我后来有代码执行以下操作:

v = sprintf("%d", nums);

当我有矢量版本时这很好用,但是当我尝试从文件加载数据时,我收到以下错误:

  

sprintf出错(&#34;%d&#34;,nums):不支持的类型

     

执行暂停

2 个答案:

答案 0 :(得分:7)

没有人再使用scan吗?

> scan("./myfile.txt")
Read 4 items
[1] 10 20 30  4

我错误输入了文件中的第四项。

准确地返回您想要的内容:

> n = scan("./myfile.txt")
Read 4 items
> identical(n, c(10,20,30,4))
[1] TRUE

答案 1 :(得分:3)

使用read.csv时,输出应为data.frame

如果要访问整数列,请尝试nums[[1]]。 (nums为输出read.csv。)

要转换为矢量,请使用unlist(nums)