gpt4 book ai didi

在 R 中读取两行标题

转载 作者:行者123 更新时间:2023-12-03 11:15:23 25 4
gpt4 key购买 nike

当标题有两个必要的标题行时,将文件读入 R 的最佳方法是什么?

这一直发生在我身上,因为人们经常使用一行作为列名,然后在其下方包含另一行作为度量单位。我不想跳过任何东西。我希望名称和单位得以贯彻。

这是一个 typical file with two headers might look like :

trt   biomass    yield
crop Mg/ha bu/ac
C2 17.76 205.92
C2 17.96 207.86
CC 17.72 197.22
CC 18.42 205.20
CCW 18.15 200.51
CCW 17.45 190.59
P 3.09 0.00
P 3.34 0.00
S2 5.13 49.68
S2 5.36 49.72

最佳答案

我会做两个步骤,假设我们知道第一行包含标签,并且总是有两个标题。

header <- scan("file.txt", nlines = 1, what = character())
data <- read.table("file.txt", skip = 2, header = FALSE)

然后添加字符向量 header关于 names成分:
names(data) <- header

对于您的数据,这将是
header <- scan("data.txt", nlines = 1, what = character())
data <- read.table("data.txt", skip = 2, header = FALSE)
names(data) <- header

head(data)

> head(data)
trt biomass yield
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 CCW 18.15 200.51
6 CCW 17.45 190.59

如果你想要单位,按照@DWin 的回答,然后再做一次 scan()在第 2 行
header2 <- scan("data.txt", skip = 1, nlines = 1, what = character())
names(data) <- paste0(header, header2)

> head(data)
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 CCW 18.15 200.51
6 CCW 17.45 190.59

关于在 R 中读取两行标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17797840/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com