【发布时间】:2021-10-13 18:49:44
【问题描述】:
我有一个大型数据集,其中每 5 列对应于 1 条动脉的测量值,但只有五列中的第一列被命名。一个例子:
df <- structure(list("agatston", "area", "volume", "density", "mass",
"agatston", "area", "volume", "density", "mass", "agatston",
"area", "volume", "density", "mass"),
.Names = c("Artery_1", NA, NA, NA, NA, "Artery_2", NA, NA, NA, NA, "Artery_3", NA, NA, NA, NA),
row.names = c(NA, -1L),
class = c("tbl_df", "tbl", "data.frame"))
看起来像这样:
df
# A tibble: 1 x 15
Artery_1 `` `` `` `` Artery_2 `` `` `` `` Artery_3 `` `` `` ``
<chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr>
1 agatston area volume density mass agatston area volume density mass agatston area volume density mass
我正在尝试使用 for 循环或 apply() 来使用最新的非缺失列名填充缺失的列名。我想要实现的目标如下所示:
# A tibble: 1 x 15
Artery_1 Artery_1 Artery_1 Artery_1 Artery_1 Artery_2 Artery_2 Artery_2 Artery_2 Artery_2 Artery_3 Artery_3 Artery_3 Artery_3 Artery_3
<chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr>
1 agatston area volume density mass agatston area volume density mass agatston area volume density mass
有什么帮助吗?
编辑: 作为下一步,我想通过将列与它下面的行的名称组合来使列 non_unique,从而产生以下输出:
# A tibble: 1 x 15
Artery_1_agatson Artery_1_area Artery_1_volume Artery_1_density Artery_1_mass Artery_2_agatson Artery_2_area Artery_2_volume
<chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr>
1 agatston area volume density mass agatston area volume
# ... with 7 more variables: Artery_2_density <chr>, Artery_2_mass <chr>, Artery_3_agatson <chr>, Artery_3_area <chr>,
# Artery_3_volume <chr>, Artery_3_density <chr>, Artery_3_mass <chr>
【问题讨论】: