我正在try 导入一些数据,不幸的是,这些数据的 struct 非常烦人.

我可以很容易地清理大部分数据,但列的命名目前是一个问题,因为在导入时,它们被标记为x1、x2、x3等.

我想根据行位置重命名这些列.

我有一个小的数据框,我想它说明了当前的情况以及我预计最终的数据框是什么样子的.我试着想出一个使用rename_with()的解决方案,但想不出如何创建一个函数来获取正确的值并将它们粘贴在一起.

init_df <- tribble(
  ~variable, ~x1, ~x2, ~x3, ~x4,
  "filler", "A", "B", "C", "D",
  "filler", "1", "2", "3", "4",
  "filler", "01", "02", "03", "04",
  "var1", "10", "12", "14", "16",
  "var2", "0.1", "0.2", "0.3", "0.4"
)

final_df <- tribble(
  ~variable, ~A_1_01, ~B_2_02, ~C_3_03, ~D_4_04,
  "var1", 10, 12, 14, 16,
  "var2", 0.1, 0.2, 0.3, 0.4
)

在本例中,我希望将第1、2和3行中的值组合在一起,以_分隔.之后删除行应该是微不足道的.

推荐答案

以下是实现您想要的结果的一种 Select :

names(init_df)[-1] <- init_df[1:3, -1] |>
  apply(2, \(x) paste(x, collapse = "_"))

init_df <- init_df[-c(1:3), ]

init_df
#> # A tibble: 2 × 5
#>   variable A_1_01 B_2_02 C_3_03 D_4_04
#>   <chr>    <chr>  <chr>  <chr>  <chr> 
#> 1 var1     10     12     14     16    
#> 2 var2     0.1    0.2    0.3    0.4

R相关问答推荐

将收件箱变量传递给ggplot 2函数

是否有任何解决方案可以优化VSCode中RScript的图形绘制?

R的GG平行坐标图中的排序变量

在通过最大似然估计将ODE模型与数据匹配时,为什么要匹配实际参数的转换值?

如果索引重复,聚合xts核心数据

在另一个函数中调用ggplot2美学

使用tidy—select创建一个新的带有mutate的摘要变量

gganimate在使用shadow_mark选项时不保留所有过go 的标记

当月份额减go 当月份额

提取具有连续零值的行,如果它们前面有R中的有效值

如果某些列全部为NA,则更改列

在rpart. plot或fancyRpartPlot中使用带有下标的希腊字母作为标签?

无法定义沿边轨迹的 colored颜色 渐变(与值无关)

比较理论阿尔法和经验阿尔法

按多列统计频次

具有重复元素的维恩图

提高圣彼得堡模拟的速度

在R中,如何从一系列具有索引名的变量快速创建数据帧?

有毒元素与表观遗传年龄的回归模型

R-使用stri_trans_General()将其音译为德语字母