在R中仅读取csv文件的前n行

4

我只想在R中获取csv文件的标题,不确定最好的方法是什么。

我认为可以使用以下方法:

read.csv(readLines("file.csv", n=3))

可能会起作用,但是当然,readLines的输出不是有效的连接。我想也许可以在这里使用一些巧妙的方法处理stdin,但是无法理解它。我正在寻找比仅将readLines输出写入文件并重新读取更好的解决方案,或者手动实现read.csv已经执行的标题解析。当然,这些方法可能会起作用,但它们似乎有点粗糙;更普遍地,我正在尝试了解如何最好地重定向文本作为连接。

1个回答

5

read.table()函数有一个nrows=参数,可以通过该参数来控制读取的行数。

例如:

R> dim(read.csv("/usr/local/lib/R/site-library/fortunes/fortunes/fortunes.csv", 
+      nrows=3, header=TRUE, sep=";"))
[1] 3 5
R> 

(抱歉我使用了 "sep =";" 但我希望选一个我们都可能拥有的文件...)
请原谅,我使用了“sep =”;”这个参数,但我想要选择一个我们都可能拥有的文件。

谢谢!不确定我是怎么忽略了那个。仍然好奇如何将文本转换为连接而不必写入文件,但我想那是一个单独的问题。 - cboettig
1
@cboettig ?textConnection? - Paul Hiemstra
@cboettig,您可以考虑为您遇到的特定问题创建一个问题,并回答它。这将为其他遇到相同问题的人提供参考。 - Paul Hiemstra

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接