gpt4 book ai didi

从列名中删除字符

转载 作者:行者123 更新时间:2023-12-05 02:32:46 27 4
gpt4 key购买 nike

我尝试在 R 中删除列名中不需要的一些字符(数字、. 和空格)我的列名如下

我的数据很乱



tibble [33 x 38] (S3: tbl_df/tbl/data.frame)
$ year : chr [1:33] "1988""1989""1990""1991"...
$ VALOR AGREGADO BRUTO (a precios básicos) : num [1:33] 9906283 11624212 14163419 17400488 19785184 ...
$ 1. PRODUCTOS AGRÍCOLAS NO INDUSTRIALES : num [1:33] 831291 911372 1112167 1434213 1532067 ...
$ 2. PRODUCTOS AGRÍCOLAS INDUSTRIALES : num [1:33] 143426 214369 231168 341144 282777 ...
$ 3. COCA : num [1:33] 118273 153689 195108 190264 199259 ...


我希望列名是。



tibble [33 x 38] (S3: tbl_df/tbl/data.frame)
$ year : chr [1:33] "1988""1989""1990""1991"...
$ VALOR AGREGADO BRUTO (a precios básicos) : num [1:33] 9906283 11624212 14163419 17400488 19785184 ...
$ PRODUCTOS AGRÍCOLAS NO INDUSTRIALES : num [1:33] 831291 911372 1112167 1434213 1532067 ...
$ PRODUCTOS AGRÍCOLAS INDUSTRIALES : num [1:33] 143426 214369 231168 341144 282777 ...
$ COCA : num [1:33] 118273 153689 195108 190264 199259 ...

我想删除号码和。来自同名

colnames(data) <- sub("\\1:4\.\\", "", colnames(data))
colnames(data)

有人可以帮助我吗?

最好!马塞洛

最佳答案

目前尚不清楚您得到的答案有什么问题,但这是另一种尝试。由于您正在显示一个 data.frame 并且想要重命名列,您可以在 dplyr::rename_with() 中使用 str_replace() >。此外,由于您的数据有 38 列,我猜您可能需要删除 1-4 以外的数字。为了适应这一点,我通过包含 [0-9] 来打开所有数字的范围,并通过指示 允许 12 数字>{1,2} 在数字规范之后。

library(tidyverse)

# took the column names you showed and added one with a higher number
d <- tibble(year = 1:5,
"VALOR AGREGADO BRUTO (a precios básicos)" = 1:5,
"1. PRODUCTOS AGRÍCOLAS NO INDUSTRIALES" = 1:5,
"2. PRODUCTOS AGRÍCOLAS INDUSTRIALES" = 1:5,
"3. COCA" = 1:5,
"29. OTHER" = 1:5)

# rename_with takes a renaming function
d %>%
rename_with(~str_remove(.x, "[0-9]{1,2}. "))
#> # A tibble: 5 x 6
#> year `VALOR AGREGADO BRUTO ~` `PRODUCTOS AGR~` `PRODUCTOS AGR~` COCA OTHER
#> <int> <int> <int> <int> <int> <int>
#> 1 1 1 1 1 1 1
#> 2 2 2 2 2 2 2
#> 3 3 3 3 3 3 3
#> 4 4 4 4 4 4 4
#> 5 5 5 5 5 5 5

reprex package 创建于 2022-02-17 (v2.0.1)

关于从列名中删除字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71151470/

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