R语言中实现相同行名自动重命名
001、
dat <- c("a", "b", "a", "a", "c", "k", "k", "c") ## 测试行名 df <- data.frame(a = 1:8, b = letters[1:8]) df rownames(df) <- dat ## 报错 uni <- unique(dat) for (i in 1:length(uni)) { count = -1 for (j in 1:length(dat)) { if (dat[j] == uni[i]) { count = count + 1 if (count > 0) { dat[j] = paste0(uni[i], ".", count) } } } } dat ## 重命名结果 rownames(df) <- dat df
002、改进
dat <- c("a", "b", "a", "a", "c", "k", "k", "c") ## 测试行名 df <- data.frame(a = 1:8, b = letters[1:8]) df rownames(df) <- dat dat uni <- unique(dat[duplicated(dat)]) ## 筛选出重复项 uni for (i in 1:length(uni)) { ## 仅对重复项进行循环,缩短程序运行时间 count = -1 for (j in 1:length(dat)) { if (dat[j] == uni[i]) { count = count + 1 if (count >= 1) { dat[j] = paste0(dat[j], ".", count) } } } } dat
分类:
R语言
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
2021-05-29 c语言中指针运算符和下标运算符
2021-05-29 c语言中数组的名称原则上为数组的第一个元素的指针,p第一个元素指针时,同时p + i等价于 &a[i]。
2021-05-29 c语言 10-3
2021-05-29 c语言中两个值的排序,指针在函数间的传递。
2021-05-29 c语言10-2
2021-05-29 c语言 10-1
2021-05-29 c语言中实现两个值互换的函数