gpt4 book ai didi

重命名列名称的后缀部分,但保持其余部分相同

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

现在我正在重做合并,因为我对列的命名很糟糕,但是,我想知道如何匹配列名的后缀并重命名列的该部分,使其余部分保持不变。

例如,如果我有一个 data.frame(也可以是一个 data.table,没关系 - 我可以转换它):

d <- data.frame("ID" = c(1, 2, 3),
"Attribute1.prev" = c("A", "B", "C"),
"Attribute1.cur" = c("D", "E", "F"))

现在想象一下,有数百列类似于我的示例 DT 中的第 2 列和第 3 列。我将如何遍历并检测以 ".prev" 结尾的所有列更改为 ".1" 以及以 ".cur" 结尾的所有列> 更改为 ".2"

因此,新的列名称将为:ID(不变)、Attribute1.1Attribute1.2 等许多匹配的列。

最佳答案

有了基础 R,我们可以做到

names(d) <- sub("\\.prev", ".1", sub("\\.cur", ".2", names(d)))
d
# ID Attribute1.1 Attribute1.2
# 1 1 A D
# 2 2 B E
# 3 3 C F

通过 stringr 包,您还可以使用

names(d) <- str_replace_all(names(d), c("\\.prev" = ".1", "\\.cur" = ".2"))

如果您可能有一些带有点/空格的名称,而不是 Attribute1Attribute2,您也可以替换 "\\.prev""\\.cur" 模式为 "\\.prev$""\\.cur$" 以确保我们在列名称的末尾匹配它们。

关于重命名列名称的后缀部分,但保持其余部分相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53731627/

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