r - 迭代地重命名列中相同特定值的第一次和第二次出现
问题描述
在这个df
1 列X
的数据框中,值a
多次出现:
数据框:
df <- structure(list(col = c("<NA>", "<NA>", "a", "<NA>", "<NA>", "<NA>",
"a", "<NA>", "<NA>", "<NA>", "<NA>", "<NA>", "a", "<NA>", "<NA>",
"a", "<NA>", "<NA>", "a", "<NA>", "<NA>", "a", "<NA>")), class = "data.frame", row.names = c(NA,
-23L))
我想重命名第一个a
asstart
和第二个a
asend
和下一个a
asstart
和下一个a
asend
等等....
所需的输出:
df1 <- structure(list(col = c("<NA>", "<NA>", "start", "<NA>", "<NA>",
"<NA>", "end", "<NA>", "<NA>", "<NA>", "<NA>", "<NA>", "start",
"<NA>", "<NA>", "end", "<NA>", "<NA>", "start", "<NA>", "<NA>",
"end", "<NA>")), class = "data.frame", row.names = c(NA, -23L
))
非常感谢!!!
解决方案
利用 R 的回收特性。
df$col[df$col == 'a'] <- c('start', 'end')
df
# col
#1 <NA>
#2 <NA>
#3 start
#4 <NA>
#5 <NA>
#6 <NA>
#7 end
#8 <NA>
#9 <NA>
#10 <NA>
#11 <NA>
#12 <NA>
#13 start
#14 <NA>
#15 <NA>
#16 end
#17 <NA>
#18 <NA>
#19 start
#20 <NA>
#21 <NA>
#22 end
#23 <NA>
推荐阅读
- python - Selenium 脚本手动工作,但在启动时不工作
- html - 使正方形网格中的正方形始终为正方形
- javascript - Android Chrome 上的全屏显示在 Notch 区域上显示白色条带
- react-native - 在本机反应中,在执行posenet.load() 时出现错误-> TypeError: undefined is not an object (evalating 'env().platform.fetch')
- reactjs - Material UI - 只有当我键入 @ 时才会显示选项的自动完成功能,就像 Skype 或任何其他聊天编辑器一样
- python - 由于重复轴无法重新索引
- nginx - 在 nginx 中创建单独的位置以启用特定文件的 req_limit_zone
- reactjs - 我想在我的项目的类组件中使用 i18next 但我有这个错误
- docker - arkade:将服务设置为 LoadBalancer
- visual-studio-code - 是否可以对 Visual Studio Code 本身进行实时修改?