←
PDF 153 / 520 In both cases read\csv() uses the first line of the data for the col‐ umn names, which is a very
→
English · PDF 153
Original PDF page 153
中文 · PDF 153

在这两种情况下,read_csv() 都会使用数据的第一行作为列名,这是一种非常常见的约定。有两种情况你可能需要调整这一行为:

  • 有时文件顶部会有几行元数据。你可以使用 skip = n 跳过前 n 行;或者使用 comment = "#" 丢弃所有以(例如)# 开头的行:

read_csv("The first line of metadata The second line of metadata x,y,z 1,2,3", skip = 2) #> # A tibble: 1 × 3 #> x y z #> #> 1 1 2 3 read_csv("# A comment I want to skip x,y,z 1,2,3", comment = "#") #> # A tibble: 1 × 3 #> x y z #> #> 1 1 2 3

  • 数据可能没有列名。你可以使用 col_names = FALSE 告诉 read_csv() 不要将第一行当作标题,而是将其从 X1 到 Xn 依次命名:

read_csv("1,2,3\n4,5,6", col_names = FALSE) #> # A tibble: 2 × 3 #> X1 X2 X3 #> #> 1 1 2 3 #> 2 4 5 6

("\n" 是添加换行符的便捷快捷方式。你将在第 195 页的“字符串基础”中了解更多关于它和其他字符串转义类型的内容。)

或者,你也可以向 col_names 传递一个字符向量,它将被用作列名:

read_csv("1,2,3\n4,5,6", col_names = c("x", "y", "z")) #> # A tibble: 2 × 3 #> x y z #>