gpt4 book ai didi

r - 如何获取列中第二次出现的字符串并使用 R 重命名它?

转载 作者:行者123 更新时间:2023-12-04 11:08:26 25 4
gpt4 key购买 nike

我有一个数据集 $Plaza,行名称为 -

"Main Plaza 1"

"Main Plaza 2"

"Main Plaza 3"

"Main Plaza 1"

"Main Plaza 5"

我必须将第二次出现的 'Main Plaza 1' 重命名为 'Main Plaza 1_second'

我试过下面的代码-

library("dplyr")

d <- grep("Main Plaza 1", dataset$Plaza)

for(i in length(d))

{

ifelse(length(d) == 2,
str_replace(dataset$Plaza, grep("^Main Lane Plaza 1"),
"Main Lane Plaza 1(second)"), NA)
break()

}

我已经尝试了很多次了,但没有找到解决方案。请帮忙!

最佳答案

为了将 _second 添加到出现多次的每个字符串,您可以使用:

plaza <- c("Main Plaza 1", "Main Plaza 2", "Main Plaza 3", "Main Plaza 1", "Main Plaza 5")
dups <- duplicated(plaza)
plaza[dups] <- paste0(plaza[dups], "_second")
plaza
## [1] "Main Plaza 1" "Main Plaza 2" "Main Plaza 3" "Main Plaza 1_second" "Main Plaza 5"

为了仅修改第二次出现的“Main Plaza 1”(但保留任何其他重复元素不变),请使用:

plaza <- c("Main Plaza 1", "Main Plaza 2", "Main Plaza 3", "Main Plaza 1", "Main Plaza 5")
i <- which(plaza == "Main Plaza 1")[2]
plaza[i] <- paste0(plaza[i], "_second")
plaza
## [1] "Main Plaza 1" "Main Plaza 2" "Main Plaza 3" "Main Plaza 1_second" "Main Plaza 5"

关于r - 如何获取列中第二次出现的字符串并使用 R 重命名它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48724292/

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