字母数字到R中增加的数字

alphanumeric to increasing numbers in R

我在 R 中有一个 table,其中有一列 ID,例如:“1A”、“2A”、“1B”、“2B”等。

我想将它们转换为数字,例如:1、2、3、4 等

如有任何建议,我将不胜感激。 谢谢!

df <- data.frame(list(
  IDs=c('1A', '2A', '1B', '2B'),
  vals=c(8,8,8,8)
))

假设 ID 是按顺序排列的,用从 1 开始到数据帧长度结束的数字序列替换 IDs 向量

df$IDs <- seq(1,nrow(df))

或者:

df$IDs <- seq_along(df$IDs)

  IDs vals
1   1    8
2   2    8
3   3    8
4   4    8

tidyverse 解决方案是使用 row_number

library(tidyverse)
df <- df %>% mutate(IDs = row_number())

另一种方法是转换为因数,然后再转换为数字。这样就没有顺序的假设。

df <- data.frame(list(
  IDs=c('1A', '2A', '1B', '2B'),
  vals=c(8,8,8,8)
))

df$IDs <- as.numeric(as.factor(df$IDs))