字母数字到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))
我在 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))