在R中读取两行标题

当文件头有两行必要的行时,将文件读入R的最佳方式是什么

这种情况经常发生在我身上,因为人们通常使用一行作为列名,然后在其下方包含另一行作为度量单位。我不想漏掉任何东西。我要你的名字和单位

以下是具有两个标题的典型文件的外观:

trt生物产量
作物Mg/ha bu/ac
C2 17.76 205.92
C2 17.96 207.86
抄送17.72 197.22
CC 18.42 205.20
《特定常规武器公约》18.15 200.51
《特定常规武器公约》17.45 190.59
P 3.09 0.00
P 3.34 0.00
S2 5.13 49.68
S2 5.36 49.72

我将执行两个步骤,假设我们知道第一行包含标签,并且始终有两个标题

标题<-扫描(“file.txt”,nlines=1,what=character())
数据<-read.table(“file.txt”,skip=2,header=FALSE)

然后添加字符向量标题作为名称组件:

名称(数据)<-标题

对于您的数据,这将是

标题<-扫描(“data.txt”,nlines=1,what=character())
数据<-read.table(“data.txt”,skip=2,header=FALSE)
名称(数据)<-标题
总目(数据)
&燃气轮机;总目(数据)
trt生物产量
1 C2 17.76 205.92
2 C2 17.96 207.86
3 CC 17.72 197.22
4 CC 18.42 205.20
5《特定常规武器公约》18.15 200.51
6《特定常规武器公约》17.45 190.59

根据@DWin的回答,如果您需要这些单位,请在第2行进行第二次scan()

标题2<-扫描(“data.txt”,skip=1,nlines=1,what=character())
名称(数据)<-粘贴0(标题、标题2)
&燃气轮机;总目(数据)
trtcrop biomassMg/ha yieldbu/ac
1 C2 17.76 205.92
2 C2 17.96 207.86
3 CC 17.72 197.22
4 CC 18.42 205.20
5《特定常规武器公约》18.15 200.51
6《特定常规武器公约》17.45 190.59

发表评论